想象一下,我有一个脚本,假设my_tools.py
我作为模块导入。但是my_tools.py
会被保存两次:C:\Python27\Lib
并且在运行脚本的同一目录中执行导入。
我可以先更改python查找my_tools.py
的顺序吗?也就是说,首先检查它是否存在于C:\Python27\Lib
,如果存在,是否进行导入?
答案 0 :(得分:4)
您可以根据需要操作sys.path
...如果您想最后移动当前目录以进行扫描,那么只需执行sys.path[1:] + sys.path[:1]
。否则,如果你想深入了解细节,那么可以使用imp module进行自定义,直到你满意为止 - 这个页面上有一个例子,http://blog.dowski.com/2008/07/31/customizing-the-python-import-system/
答案 1 :(得分:3)
您可以修改sys.path
,这将确定Python搜索导入的顺序和位置。 (请注意,您必须在导入语句之前执行此操作。)
答案 2 :(得分: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
,您可以将其放在列表的末尾,这样它将首先在所有可能的位置搜索,然后再转到当前目录