还在为每次运行 Python 脚本都要打开终端或搜索文件而烦恼吗?面对 Windows、macOS、Linux 各自不同的快捷方式创建方法,是否感到头疼?PyShortcuts 的出现,让这一切变得异常简单。它通过一个统一的 Python 接口,屏蔽了系统差异,让你能像调用普通函数一样,为脚本或命令创建桌面和开始菜单快捷方式,非常适合追求效率的开发者。欢迎在 云栈社区 分享你的自动化实践经验。
PyShortcuts是什么?
PyShortcuts 是一个强大的 Python 库,它允许你轻松地在 Windows、macOS 和 Linux 系统上为各种应用程序创建快捷方式,当然也包括你编写的 Python 脚本。它提供了一个一致的跨平台界面,让你无需记忆各操作系统的特定设置,用几行代码就能完成配置。
这意味着,你可以彻底告别繁琐的手动创建步骤,快速将常用的脚本“钉”在桌面或开始菜单,实现一键启动。
安装PyShortcuts
安装过程非常简单,使用 pip 命令即可完成:
pip install pyshortcuts
对于 Windows 用户,PyShortcuts 需要依赖 pywin32 包来操作系统功能,但安装程序会自动处理这个依赖。macOS 和 Linux 系统则无需额外的依赖包。
如果你想使用 PyShortcuts 提供的图形用户界面(GUI)进行可视化操作,则需要额外安装 wxPython 包。在 Python 生态中,GUI开发是一个有趣的分支。
pip install wxPython
从Python脚本中创建快捷方式
最直接的方式就是在你的脚本中调用 PyShortcuts。下面是一个简单的示例:
from pyshortcuts import make_shortcut
make_shortcut('/home/user/bin/myapp.py', name='MyApp', icon='/home/user/icons/myicon.ico')
make_shortcut 函数提供了丰富的参数来控制快捷方式的生成,其参数说明如下:
script (str): 必需参数,指定要运行的脚本或命令的完整路径。你甚至可以在这里直接带上命令行参数。
name (str or None): 快捷方式的显示名称,默认为脚本的文件名。
description (str or None): 对脚本或快捷方式的详细描述,默认为 name 参数的值。
icon (str or None): 自定义图标文件的路径。如果不指定,将默认使用 Python 的图标。
folder (str or None): 一个桌面上的文件夹名称,快捷方式将被创建在这个文件夹内。默认为直接放在桌面上。
terminal (bool): 是否在终端(或命令行窗口)中运行脚本。默认为 True,这对于需要查看输出的脚本很有用。
desktop (bool): 是否在桌面创建快捷方式。默认为 True。
startmenu (bool): 是否在开始菜单(或启动器)创建快捷方式。默认为 True。
executable (str or None): 指定用于运行脚本的解释器或可执行文件。默认为当前环境下的 Python 解释器。
使用命令行程序创建快捷方式
除了在代码中调用,PyShortcuts 还贴心地提供了一个命令行工具 pyshortcut。你可以在终端或命令提示符中直接使用它,这对于快速测试或集成到 运维/DevOps 脚本中非常方便。
例如:
pyshortcut -n MyApp -i /home/user/icons/myicon.icns /home/user/bin/myapp.py
这条命令会创建一个名为 “MyApp” 的快捷方式,使用指定的图标文件,并指向目标脚本。命令行参数与 make_shortcut 函数参数基本对应。
为单个Python命令创建快捷方式
PyShortcuts 的功能不限于脚本文件,你甚至可以为一段简单的 Python 命令创建快捷方式。比如,创建一个用来更新库本身的快捷方式:
import sys
from pyshortcuts import make_shortcut
pycmd = f"{sys.executable} -m pip install --upgrade pyshortcuts"
make_shortcut(pycmd, name='Update Pyshortcuts')
执行后,桌面上会出现一个 “Update Pyshortcuts” 的快捷方式,双击它就会执行 pip install --upgrade pyshortcuts 命令。这个思路可以扩展到任何你常用的 Python 单行命令。
PyShortcuts图形用户界面
如果你更喜欢可视化操作,PyShortcuts 也提供了图形界面(GUI)。在安装好 wxPython 后,通过以下命令即可启动:
pyshortcut --wxgui
在 GUI 中,你可以方便地浏览和选择脚本文件、图标文件,设置各种选项,并预览最终效果。你甚至可以用它来生成调用 make_shortcut 的示例 Python 代码。
更有趣的是,你可以用 pyshortcut --bootstrap 命令,直接创建一个用于启动 PyShortcuts GUI 本身的桌面快捷方式,实现“自举”。
总结
PyShortcuts 是一款功能强大却极易上手的工具,它用 Python 统一了三大桌面操作系统的快捷方式创建逻辑,极大提升了日常开发和工作效率。无论是想快速启动自己的工具脚本,还是封装命令行操作为便捷入口,它都能胜任。
项目开源地址:https://github.com/newville/pyshortcuts,你可以在这里查看源码、报告问题或贡献代码。如果你对这类能提升开发体验的 开源实战 项目感兴趣,不妨去点个星标(Star)。