5

假设我有一个脚本,假设my_tools.py我作为模块导入。但是my_tools.py会保存两次:在C:\Python27\Lib 执行导入的脚本运行的同一目录中。

我可以更改pythonmy_tools.py首先查找的顺序吗?也就是说,首先检查它是否存在,C:\Python27\Lib如果存在,是否导入?

4

3 回答 3

4

您可以随心所欲sys.path地进行操作...如果您想移动当前目录以最后扫描,那么只需执行sys.path[1:] + sys.path[:1]. 否则,如果您想深入了解细节,则可以使用imp 模块进行自定义,直到您满意为止-该页面上有一个示例,http://blog.dowski.com/2008/07/31上有一个示例/customizing-the-python-import-system/

于 2012-10-26T08:05:41.973 回答
3

您可以修改sys.path,这将确定 Python 搜索导入的顺序和位置。(请注意,您必须在导入语句之前执行此操作。)

于 2012-10-26T08:05:24.573 回答
2

如果您不希望 python 搜索内置模块,请先在当前文件夹中搜索,,

你可以改变sys.path

upon program startup, the first item of this list, path[0], is the directory containing the script that was used to invoke the Python interpreter

sys.path[0] is the empty string, which directs Python to search modules in the current directory first, 你可以把它放在列表的末尾,这样它会在到达当前目录之前首先搜索所有可能的位置

于 2012-10-26T08:15:39.277 回答