当使用Python Windows启动器,有什么办法可以防止input完整path?

在Windows 8中,我经常使用Python Windows启动器

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

有没有办法设置一些环境设置,如PATH或PYTHONPATH等,以防止inputprog.py的完整path?

从我的基础知识/研究中,PATH只帮助py命令行的一部分,PYTHONPATH只帮助prog.py内的prog.py ,所以如何处理prog.py本身的path?

笔记:

  • 我不能修改代码,甚至不能修改“shebang”行,因为它需要在其他平台上工作。
  • 我不能cd到包含程序的目录来运行它们,因为程序会根据它们运行的​​目录(它们将修改运行目录中的文件)来执行某些操作。
  • 我知道,如果我将.py扩展名与Python Windows启动器相关联,那么我可以运行prog.py作为命令行中的第一项,从而使用PATH,但是当前我的.py扩展名与我最喜欢的编辑器相关联,而我如果可能的话,要保持这种方式(所以我可以在Windows资源pipe理器中双击任何Python文件并编辑它)。
    • 但是,如果有人build议一个解决scheme,我可以有一个Windows资源pipe理器与命令行不同的关联,那么这可能是一个潜在的解决scheme! (即在Windows资源pipe理器中, .py用编辑器打开,而在命令行中, .py用Python Windows启动器运行)

把你的漫长路径添加到PYTHONPATH ,然后调用你的程序:

 python -m prog 

Python将搜索一个名为prog的模块,然后将其作为主模块运行。

回答我自己的问题:其实我很傻。 我可以为每个程序路径设置一个变量(只有一些程序路径),即。 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