![](/img/trans.png)
[英]How to import 2 separate files with the same name in the same python script
[英]How to import multiple files with same name in python
對於生成源文件的python項目,我具有以下結構:
/project_name/src/module_name0/scripts/generate.py
/project_name/src/module_name1/scripts/generate.py
...
/project_name/src/module_nameN/scripts/generate.py
我想使用位於以下位置的腳本generate
腳本:
/project_name/prj/generate_all.py
如何從generate_all
導入generate
腳本? 我試圖將/project_name/src/module_nameK
添加到sys.path
,但是由於文件具有相同的名稱,其中一個隱藏了其他文件。 我不想在module_nameK
文件夾中添加__init__.py
文件,因為那里只有其他源文件。
看一下imp模塊。
我認為您需要imp.load_source("somemodule.name", "full/path/to/your/module")
您可以使用imp.load_module(name, ...)
取自python docs的示例:
import imp
import sys
def __import__(name, globals=None, locals=None, fromlist=None):
# Fast path: see if the module has already been imported.
try:
return sys.modules[name]
except KeyError:
pass
# If any of the following calls raises an exception,
# there's a problem we can't handle -- let the caller handle it.
fp, pathname, description = imp.find_module(name)
try:
return imp.load_module(name, fp, pathname, description)
finally:
# Since we may exit via an exception, close fp explicitly.
if fp:
fp.close()
您可以隨時嘗試:
import xxx as yyy
因此,例如,如果您想將MySQLdb重命名為更易於鍵入的名稱,則可以編寫
import MySQLdb as mysql
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.