我希望能够创建一个程序,可以在末尾保存带有我自己的扩展名的文本文件。稍后用户应该能够双击该文件来运行程序并打开该文件。
我需要知道如何使 python 程序成为用户双击文件时打开的默认程序,以及如何在程序开始运行时获取该文件。
python 2.7 Mac OS X 10.6 和 Windows 7编辑: 举个例子,我正在制作一个绘画程序。用户想要保存他正在处理的文件。我的程序会将其保存为 untitled.paint,稍后用户双击 untitled.paint 并期望我的程序打开该文件。
有没有办法让我告诉操作系统用我的绘画程序打开所有以 .paint 结尾的文件。
我无法将其另存为 .jpg,因为这不会保存图层或其他任何内容。
最佳答案
不了解 OSX,但在 Windows 中您可以按如下方式执行此操作:
- 创建批处理文件
- 选择您想要“自动”打开的文件类型,然后使用上下文菜单中的“打开方式...”选择批处理文件作为要使用的默认程序。
- 批处理文件将获取传递参数 1 的“单击”文件,然后您可以将其作为参数传递给 Python 脚本 - 然后它会以 sys.argv[1] 的形式接收它。
使用扩展名“.paint
”(使用假设的 python 脚本 pypaint.py
打开)的示例可能会澄清一些事情:
run_paint.bat:
@echo off
echo 'clicked file is' %1
python path_to_pypaint.py %1
py_paint.py:
import sys
print('opening', sys.argv[1])
关于python - 双击文件运行 python 脚本。如何获取该文件作为输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9880130/