将Python脚本设置为打开文件类型的默认值
我试图将我的Python脚本设置为打开文件的默认程序,例如,双击程序时,用程序打开每个.txt文件。 我已经试过了: 从系统导入argv 将参数写入文件以进行调试 使用openoutput.txt,w+作为f: f、 写入程序 我使用pyinstaller将脚本转换为.exe,否则Windows将不允许我使用它打开文件 在命令提示符下,它可以工作:键入main.exe某些参数确实会生成一个output.txt文件,其中包含[C:\…\main.exe,some,args] 我希望通过在“文件资源管理器”>“右键单击文件”>“打开方式”>“更多应用程序”>“检查始终使用此应用程序”中使用此脚本打开一个.txt文件并选择可执行文件,这与在命令提示符下运行main.exe C:\…\即\u文件\u即\u刚刚\u单击.txt相同,然后我可以使用文件路径在我的程序中打开它。然而,这并没有发生。事实上,main.exe甚至从未执行过,因为它甚至没有创建新的output.txt将Python脚本设置为打开文件类型的默认值,python,windows,file,Python,Windows,File,我试图将我的Python脚本设置为打开文件的默认程序,例如,双击程序时,用程序打开每个.txt文件。 我已经试过了: 从系统导入argv 将参数写入文件以进行调试 使用openoutput.txt,w+作为f: f、 写入程序 我使用pyinstaller将脚本转换为.exe,否则Windows将不允许我使用它打开文件 在命令提示符下,它可以工作:键入main.exe某些参数确实会生成一个output.txt文件,其中包含[C:\…\main.exe,some,args] 我希望通过在“文件资源
如何链接pyinstaller生成的可执行文件以始终打开文件类型,以及如何知道Python中打开的文件的路径?我做错的事情是使用相对文件路径创建output.txt。由于脚本被转换成一个.exe,它基本上将解释器和脚本包装成一个文件,因此相对文件路径停止工作
使用绝对文件路径修复了Eryk Sun指出的我的问题。自动生成的progid的打开操作应该包括%1文件路径,但如果需要,它不会包括额外的%*命令行参数。您的测试脚本依赖于工作目录,我不确定PyInstaller可执行文件的工作目录是什么。它应该是目标文件的目录,但请尝试在脚本中硬编码的完全限定位置写入output.txt,并包含os.getcwd的值。@ErykSun将所有内容转换为绝对文件路径似乎已经修复了它。打开的文件路径现在显示在output.txt中。谢谢我怎样才能把你的答案标记为正确?