如何添加默认路径来查找python脚本文件?

时间:2011-05-10 01:13:30

标签: python path directory

我总是在确定如何在Windows中正确设置Python时遇到一些麻烦。

我已经设置了path =%path%; C:\ python27,所以我可以用python打开.py文件。我只是想弄清楚如何更改保存目录。

例如,我将所有自定义脚本保存在Documents / Python目录中。这是Win7,所以没有我的文档。我希望能够在IDLE中键入“HelloWorld.py”并让它在此文件夹中搜索任何匹配的脚本名称。我无法弄清楚如何将此目录添加到默认的Python搜索路径中。

有什么想法吗?

这是一次尝试。

>>> import sys 
>>> sys.path 
['C:\\Python27\\Lib\\idlelib', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages'] 
>>> sys.path.append('C:\Users\Jimmy\Documents\Python') 
>>> HelloWorld.py 
Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> HelloWorld.py NameError: name 'HelloWorld' is not defined `

4 个答案:

答案 0 :(得分:6)

import sys
sys.path.append(YOUR_PATH)  # or .insert(0, YOUR_PATH) may give higher priority

或设置$PYTHONPATH环境变量

答案 1 :(得分:1)

这不是运行脚本的工作原理。修改您的%PATH%环境变量以包含包含相关脚本的目录,然后从命令提示符运行脚本,而不是IDLE。

答案 2 :(得分:1)

请按照教程

sys.path.append(r'C:\Users\Jimmy\Documents\Python') 

您不能随意将\放入字符串中。

当您查看错误消息时,请注意所有系统提供的路径元素都有\\以逃避\的含义。

教程将向您展示如何使用r"字符串轻松实现此目的。

答案 3 :(得分:1)

我把它放在评论中,但我会在答案中加入一些更彻底的答案。目前尚不清楚是否要将HelloWorld.py作为脚本运行,或者如果要在其中导入内容。但它们是两个不同的东西。

如果您只想从cmd或Powershell运行HelloWorld.py,则需要修改PATH环境变量。在Windows中,您可以在“我的电脑”中执行此操作&gt;属性&gt;高级&gt;环境变量。单击PATH,并将路径添加到包含HelloWorld.py的文件夹并保存更改。您需要重新启动cmd或Powershell以查看更改,并且更改将保持不变。 (换句话说,这是永久性的改变)

如果您希望能够导入HelloWorld内容,那么您有几个选项,但最简单的方法是将要导入的代码包装到HelloWorld.py中的函数中。所以说你现在的HelloWorld.py看起来像这样:

print "Hello World!"

将其更改为:

def hello_world():
    print "Hello World!"

然后,您只需要将包含HelloWorld.py的文件夹的路径添加到sys.path。听起来你已经做到了。那么你就可以像这样导入:

import HelloWorld

HelloWorld.hello_world()
# Will output: "Hello World!"

如果您仍然希望HelloWorld.py能够像脚本一样运行,那么您需要将其添加到脚本的底部:

if __name__ == 'main':
    hello_world()

告诉Python导入文件而不运行它,如果它正在导入。如果没有导入它,它将执行if块中的代码。

希望能够清除它。对于以Python开头的人来说,这绝对是一个混乱的常见原因。