使用Python Windows Launcher时,有什么方法可以防止必须输入完整路径?

时间:2015-08-02 05:43:28

标签: python windows python-3.x

在Windows 8中,我经常使用Python Windows Launcher,如

py C:/long/long/long/long/long/path/to/prog.py ...

有没有办法设置一些环境设置,比如PATH或PYTHONPATH等,以防止必须输入prog.py的完整路径?

从我的基础知识/研究中,PATH只对命令行的py部分有帮助,而PYTHONPATH只对prog.py内的导入有帮助,那么我该如何处理{{1}的路径本身??

注意:

  • 我无法修改代码,甚至不能修改代码" shebang"因为它需要在其他平台上工作。
  • 我无法cd到包含运行它们的程序的目录,因为程序会根据它们运行的​​目录执行某些操作(它们会修改它们所在目录中的文件)跑进来。
  • 我知道如果我将prog.py扩展名与Python Windows Launcher相关联,那么我可以运行.py作为命令行中的第一项,因此使用PATH,但目前我的{{1}扩展名与我最喜欢的编辑器相关联,如果可能,我希望保持这种方式(因此我可以在Windows资源管理器中双击任何Python文件并进行编辑)。
    • 但是,如果有人建议我可以为Windows资源管理器与命令行建立不同的关联的解决方案,那么可以成为潜在的解决方案! (即在Windows资源管理器中,prog.py随编辑器打开,而在命令行中,.py与Python Windows Launcher一起运行)

2 个答案:

答案 0 :(得分:0)

回答我自己的问题:实际上,我太傻了。我可以为每个程序路径设置一个变量(只有几个程序路径),即.. prog=C:/long/path/to/prog.py然后执行py %prog% ...。我想我找到了一个我自己可以接受的问题的答案。

更新:我刚刚找到了更好的东西。我能做到

doskey prog=py C:/long/path/to/prog.py $*

然后只是prog ...

现在我只需做一些疯狂的事情就可以将doskey命令放入每次启动控制台时都会运行的文件中,如下所述:https://stackoverflow.com/a/21040825/5182136

答案 1 :(得分:0)

将您的漫长路径添加到True,然后调用您的程序:

PYTHONPATH

Python将搜索名为python -m prog 的模块,然后将其作为主模块运行。