我正在尝试从我的python程序中的相对路径导入。
我要导入的课程是
home/foo/bar/model.py
但是,我当前的python脚本在
中home/best/user/test.py
我试过用
from ../../foo/bar import class
但它会引发语法错误
答案 0 :(得分:2)
你做不到。您无法从显式指定的路径导入(没有可怕的欺骗)。所有Python导入都基于系统范围的导入路径(def Latin1ToUnicodeDictReader(latin1_data, **kwargs):
csv_reader = csv.DictReader(latin1_data, **kwargs)
for row in csv_reader:
yield {key: value.decode('iso-8859-1').encode('utf8') if value else value for key, value in row.iteritems()}
reader = Latin1ToUnicodeDictReader(csvfile, delimiter='\t')
)。您无法导入任何无法从sys,path
访问的内容(即,它位于sys,path
本身,或者位于sys.path
上的包内。 The documenation有详细信息。如果您希望能够从该文件导入,则需要以某种方式将其目录(或其最顶层包含的包的目录)添加到路径中。
答案 1 :(得分:2)
导入模块时,python会查找当前工作目录和sys.path
中的路径。您可以将要导入的脚本目录添加到sys.path
:
import sys
sys.path.append('home/foo/bar')
import model # imports home/foo/bar/model.py