python,从其他目录下的文件导入当前文件夹下的文件

时间:2015-02-11 13:56:37

标签: 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

A.py在当前文件夹中,为什么python找不到它?如何使A.py可用?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以在脚本calc.py中添加脚本目录的路径,以便找到A.py模块。

import sys
sys.path.append('C:\scripts')

答案 1 :(得分:1)

如果您使用的是Python 2.7或更高版本,则可以使用importlib包。 import_module函数可以接受绝对路径,IIRC,不需要在你的PYTHONPATH上。

import importlib
mod = importlib.import_module(filepath)

或者,如果您想自己手动完成工作(或者如果您使用的是Python 2.6或更早版本),则可以直接使用imp包:

import imp
mod = imp.load_module(imp.find_module(filename, filepath))