将Python脚本设置为打开文件类型的默认值

2024-04-26 05:47:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将我的Python脚本设置为打开文件的默认程序(例如,双击程序打开每个.txt文件)。 我已经试过了:

from sys import argv

# write the arguments to a file for debugging purposes
with open("output.txt", "w+") as f:
    f.write(repr(argv))

我使用pyinstaller将脚本转换为.exe,否则Windows将不允许我使用它打开文件

在命令提示符下,它可以工作:键入main.exe some args确实会生成一个output.txt文件,其中包含["C:\...\main.exe", "some", "args"]

我希望通过使用此脚本打开一个.txt文件(在文件资源管理器中,右键单击文件,选择“始终使用此应用程序”并选择可执行文件),这与在命令提示符下运行main.exe C:\...\that_file_that_i_just_clicked.txt相同,然后我可以使用文件路径在程序中打开它。然而,这并没有发生。事实上,main.exe甚至从未执行过(因为它甚至没有创建新的output.txt)

如何链接pyinstaller生成的可执行文件以始终打开文件类型,以及如何知道Python中打开的文件的路径


Tags: 文件程序txt脚本可执行文件outputmainargs
1条回答
网友
1楼 · 发布于 2024-04-26 05:47:48

我做错的事情是使用相对文件路径创建output.txt。由于脚本被转换为.exe(它基本上将解释器和脚本包装到单个文件中),因此相对文件路径停止工作

使用绝对文件路径修复了我的问题(正如Eryk Sun所指出的)

相关问题 更多 >