python,从其他目录下的文件导入当前文件夹下的文件
我有一个打算导入用户(我)提供的文件的包 在c:\lib\calc.py中python,从其他目录下的文件导入当前文件夹下的文件,python,Python,我有一个打算导入用户(我)提供的文件的包 在c:\lib\calc.py中 # some codes to find which file to import filename = "A" __import__(filename) ... 我有一个文件c:\scripts\a.py 注意:A.py与calc.py位于不同的文件夹中。现在我应该在命令窗口下做这件事 cd C:\scripts python c:\lib\calc.py 但我收到一条错误消息 No module named A
# some codes to find which file to import
filename = "A"
__import__(filename)
...
我有一个文件c:\scripts\a.py
注意:A.py与calc.py位于不同的文件夹中。现在我应该在命令窗口下做这件事
cd C:\scripts
python c:\lib\calc.py
但我收到一条错误消息
No module named A
py在当前文件夹中,为什么python找不到它?如何使A.py可用
谢谢。您可以将路径添加到脚本calc.py中的脚本目录,以便它可以找到A.py模块
import sys
sys.path.append('C:\scripts')
如果您使用的是Python 2.7版或更高版本,则可以使用该软件包。
import\u模块
函数可以接受绝对路径,IIRC不需要位于PYTHONPATH上
import importlib
mod = importlib.import_module(filepath)
或者,如果您想自己手动完成工作(或者如果您使用的是Python 2.6或更早版本),则可以直接使用该包:
import imp
mod = imp.load_module(imp.find_module(filename, filepath))
为什么您要使用
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu?sys.path
中有什么?您可以将scripts
目录添加到PYTHONPATH环境变量中。“A”仅在运行时下已知。我稍微简化了代码,实际的命令类似于“PythonC:\lib\calc.py--file a.py”