我试图将我的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中打开的文件的路径
我做错的事情是使用相对文件路径创建output.txt。由于脚本被转换为.exe(它基本上将解释器和脚本包装到单个文件中),因此相对文件路径停止工作
使用绝对文件路径修复了我的问题(正如Eryk Sun所指出的)
相关问题 更多 >
编程相关推荐