在python中如何添加到windows路径变量以查找可执行文件

时间:2013-04-23 19:07:12

标签: python linux windows

我一直在寻找一种方法来在可能未在windows路径中列出的文件夹中进行python搜索。这样,如果他们决定不在c:\ program files下安装它,我可以为安装的应用程序考虑一些非标准位置。例如,如果unix utils安装在驱动器或其他东西上。

而不是一直修改Windows路径。我想我可以读取注册表找到它安装的路径,然后将其添加到该python实例的搜索路径中,仍然可以找到我正在寻找的内容。问题是我还需要考虑具有标准命名的预定义子文件夹。

我已经搜索过了,我发现的大部分内容与修改python路径有关,并且python发现它是模块,这对此没有用。

我还有一些跨越sys.path.append,但是无法找到关于这是否适用于此的任何内容。我还阅读了os.path的文档,看起来加入可能有用,但它似乎并不适合这种需要。

有什么东西我没有到这里或者这是不可能的。

最后一件事需要跨平台兼容。我可以找到自己的路径并根据需要添加它们,但只需要一种方法来添加到路径中。

由于

1 个答案:

答案 0 :(得分:0)

要暂时添加到路径,例如:

    import os
    import sys

    if sys.platform == 'win32':
        sep = ';'
    else:
        sep = ':'

    os.environ['PATH'] += sep + r'"C:\QA\Hello World"'

请注意,在Windows上,环境变量不区分大小写,但在UNIX上它们是。这只会添加此过程的路径,而且是子项。

当你来运行程序时,你需要使用一个将使用%PATH%(或$ PATH)的shell。

import subprocess
proc = subprocess.Popen('hello.exe',shell=True) 
proc.wait()