如何创建Windows快捷方式运行Python脚本中的指定函数
方案可行性结论
该需求可完全实现,无需安装第三方工具,依托Python命令行参数机制+Windows原生快捷方式配置即可完成,所有执行逻辑可完全由Python代码管控。
具体配置步骤
第一步:编写可接收外部参数的Python脚本
先将你需要执行的逻辑封装为Python函数,同时添加入口代码接收快捷方式传入的参数,示例脚本如下,可直接保存到固定路径(建议存到不会随意移动/删除的目录,比如C:\pyscripts\下,避免快捷方式失效):
import subprocess import sys # 你自定义的目标函数 def run_command(command): subprocess.run(command, shell=True, check=True) if __name__ == "__main__": # sys.argv[0]是脚本自身路径,后续内容为外部传入的参数 if len(sys.argv) < 2: input("参数错误:未传入要执行的命令,按回车退出") sys.exit(1) # 拼接所有传入参数为完整命令,兼容带空格的路径/参数 exec_cmd = " ".join(sys.argv[1:]) run_command(exec_cmd)
如果你需要在同一个脚本里放多个函数供不同快捷方式调用,可以扩展入口逻辑,通过第一个参数指定要调用的函数名,示例代码:
if __name__ == "__main__": if len(sys.argv) < 2: input("参数错误:未指定要调用的函数,按回车退出") sys.exit(1) # 函数名和实际函数的映射表,新增函数在这里加对应关系即可 func_map = { "run_cmd": run_command, # 例:"calc_size": calc_folder_size } target_func = sys.argv[1] if target_func not in func_map: input(f"错误:不存在函数{target_func},按回车退出") sys.exit(1) func_args = " ".join(sys.argv[2:]) func_map[target_func](func_args)
第二步:创建并配置Windows快捷方式
- 先获取本地Python解释器的完整路径:打开cmd执行
where python,返回的第一行路径就是可执行文件路径,比如常见路径为C:\Users\你的用户名\AppData\Local\Programs\Python\Python311\python.exe - 在桌面/你需要的位置右键,选择「新建 - 快捷方式」,在「键入对象的位置」输入框中,按如下格式填写内容:
"你的Python解释器完整路径" "你刚才保存的Python脚本完整路径"
填写示例:"C:\Users\zhangsan\AppData\Local\Programs\Python\Python311\python.exe" "C:\pyscripts\cmd_runner.py" - 点击下一步,给快捷方式设置你需要的名称,点击「完成」创建基础快捷方式。
- 右键刚创建的快捷方式,选择「属性」,在弹出的配置窗口中调整参数:
- 在「目标」输入框原有内容的末尾,加一个空格后填写你要传给Python函数的参数:如果是单函数版本,直接填要执行的shell命令即可,比如末尾加
notepad.exe就会调用函数打开记事本;如果是多函数版本,先填要调用的函数名,再加空格填对应参数,比如run_cmd ipconfig /all - 「起始位置」填写你希望命令执行的工作目录,比如需要命令在D盘根目录运行就填
D:\,不填则默认以快捷方式所在文件夹为工作目录 - 「运行方式」可选择「最小化」,点击快捷方式时不会弹出黑色命令行窗口,执行体验更流畅
- 配置完成后点击「确定」保存即可,双击快捷方式就能触发对应Python函数执行。
- 在「目标」输入框原有内容的末尾,加一个空格后填写你要传给Python函数的参数:如果是单函数版本,直接填要执行的shell命令即可,比如末尾加
注意事项
- 所有带空格的路径必须使用英文半角双引号包裹,否则Windows会将空格识别为参数分隔符,导致路径解析失败、程序运行报错
- 如果后续需要修改执行的命令/调用的函数,直接修改快捷方式属性中「目标」栏末尾的参数即可,无需改动Python脚本
- 如果Python脚本依赖虚拟环境,将快捷方式里的解释器路径替换为虚拟环境下的python.exe路径即可正常运行
内容的提问来源于stack exchange,提问作者MiniGeek
相关产品推荐
相关产品推荐

