python - 使用 Python Windows Launcher 时,有什么方法可以避免输入完整路径吗?

标签 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 中的导入有帮助,那么我该怎么做处理 prog.py 本身的路径??

注意事项:

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

最佳答案

将您的长路径添加到 PYTHONPATH,然后这样调用您的程序:

python -m prog

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

关于python - 使用 Python Windows Launcher 时,有什么方法可以避免输入完整路径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31768931/

相关文章:

python - pandas - 如何将嵌套字典中的数据加载到数据框中?

python - 让一个类表现得像 Python 中的一个列表

python - 在python中将两个排序的链表合并为一个链表

c# - 如何从键盘上读取字符?

c# - 如何使用命令行回收远程机器上的应用程序池

python-3.x - 模块错误 : Rasterio has no attribute open

python - 沉默 "No handlers could be found for logger "paramiko.transport""消息

python - 如何在python中实现时间事件调度器?

c# - 格式化 JSON 字符串时出错

python-3.x - Ansible - 使用 with_items 访问 shell 命令的输出