换句话说,是否有一种跨平台的方式来知道哪个文件将由 subprocess.Popen(file)
执行而不先执行它?
原文由 Joe 发布,翻译遵循 CC BY-SA 4.0 许可协议
换句话说,是否有一种跨平台的方式来知道哪个文件将由 subprocess.Popen(file)
执行而不先执行它?
原文由 Joe 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 3.3 添加了 shutil.which()
以提供发现可执行文件的跨平台方法:
http://docs.python.org/3.3/library/shutil.html#shutil.which
返回可执行文件的路径,如果调用给定的 cmd,该可执行文件将运行。如果没有调用 cmd,则返回 None。
示例调用:
>>> shutil.which("python")
'/usr/local/bin/python'
>>> shutil.which("python")
'C:\\Python33\\python.EXE'
不幸的是,这还没有被反向移植到 2.7.x。
原文由 joemaller 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答864 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
过时的(不再正确)
我相信 python 库中没有