在Python中设置路径
有没有办法在Python中设置终端路径?我有一些编译过的二进制文件,我想在文件夹中使用,比如说在Python中设置路径,python,path,Python,Path,有没有办法在Python中设置终端路径?我有一些编译过的二进制文件,我想在文件夹中使用,比如说C:/Program Files/PostgreSQL/9.2/bin中的foo.exe,我想在os或sys模块中一定有可以工作的东西,但我找不到任何: # This works, but ugly psqldir = 'C:/Program Files/PostgreSQL/9.2/bin' currentdir = os.getcwd() os.chdir(psqldir) os.system('f
C:/Program Files/PostgreSQL/9.2/bin
中的foo.exe
,我想在os
或sys
模块中一定有可以工作的东西,但我找不到任何:
# This works, but ugly
psqldir = 'C:/Program Files/PostgreSQL/9.2/bin'
currentdir = os.getcwd()
os.chdir(psqldir)
os.system('foo')
os.chdir(currentdir)
# Does not work
os.system('set PATH=%PATH%;C:/Program Files/PostgreSQL/9.2/bin')
os.system('foo')
# Does not work
sys.path.append('C:\\Program Files\\PostgreSQL\\9.2\\bin')
os.system('foo')
谢谢 像这样的东西应该有用
import os
psqldir = 'C:/Program Files/PostgreSQL/9.2/bin'
os.environ['PATH'] = '%s;%s' % (os.environ['PATH'], psqldir)
os.system('foo')
…或者通过其完整路径调用foo.exe
os.system('C:/Program Files/PostgreSQL/9.2/bin/foo')
然而,正如kindall(现已删除)的回答所暗示的,值得注意文档中的这一段
该模块提供了更强大的工具来生成新的
处理并检索其结果;使用该模块比使用
这个功能。见
子流程
文档中的部分了解一些有用的配方
像这样的东西应该有用
import os
psqldir = 'C:/Program Files/PostgreSQL/9.2/bin'
os.environ['PATH'] = '%s;%s' % (os.environ['PATH'], psqldir)
os.system('foo')
…或者通过其完整路径调用foo.exe
os.system('C:/Program Files/PostgreSQL/9.2/bin/foo')
然而,正如kindall(现已删除)的回答所暗示的,值得注意文档中的这一段
该模块提供了更强大的工具来生成新的
处理并检索其结果;使用该模块比使用
这个功能。见
子流程
文档中的部分了解一些有用的配方
我的理解是,您需要添加一个环境变量。我认为您应该能够使用os.system/os.environ或子流程来实现这一点。 同时考虑到您使用的是windows,您可能希望查看这些文章
我的理解是,您需要添加一个环境变量。我认为您应该能够使用os.system/os.environ或子流程来实现这一点。 同时考虑到您使用的是windows,您可能希望查看这些文章
os.system()
?不好…哎哟。有更好的款式吗?我愿意接受建议。@ephedyn看到kindall答案的最后一句话。@Aya我没有看到kindall的答案,发生了什么事吗?顺便说一句,你的回答正是我想做的-谢谢!唉,金德尔已经删除了他们的答案——不管是什么。因此答案是“使用子流程
模块”。os.system()
?不好…哎哟。有更好的款式吗?我愿意接受建议。@ephedyn看到kindall答案的最后一句话。@Aya我没有看到kindall的答案,发生了什么事吗?顺便说一句,你的回答正是我想做的-谢谢!唉,金德尔已经删除了他们的答案——不管是什么。因此答案是“使用子流程
模块”。感谢提示,我们将仔细阅读。感谢提示,我们将仔细阅读。使用完整路径调用+1,-0.4不推荐子流程
,将+0.6转为+1。@glglglglgl我认为篡夺kindall对子流程的建议是不礼貌的,但现在他删除了它,我会添加它。+1表示使用完整路径调用,-0.4表示不推荐子流程
,使+0.6,循环到+1。@glglglglglgl我认为篡夺kindall关于子流程
的建议是不礼貌的,但现在他删除了它,我会添加它。