我有4个目录:
/home/user/test1
/home/user/test2
/home/user/test3
/home/user/test4
我有另一个带测试的目录
/home/user/testing
拥有testall.py文件
ow,我怎么能将PATT,test1到test4附加到PYTHONPATH,以便我可以访问test1到4下的文件。
btw,test1到4有多个目录,其中有python文件所在的位置。
我试过了:
import sys
import os
PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0,os.path.join(PROJECT_ROOT,"test1"))
sys.path.insert(1,os.path.join(PROJECT_ROOT,"test2"))
sys.path.insert(2,os.path.join(PROJECT_ROOT,"test3"))
sys.path.insert(3,os.path.join(PROJECT_ROOT,"test4"))
似乎无法正常工作
也:
import sys
sys.path.append('/home/user/test1','/home/user/test2','/home/user/test3','/home/kahmed/test4')
from test1.common.api import GenericAPI
没用。
基本上是: 来自test1.common.api导入GenericAPI 应该工作
答案 0 :(得分:4)
试试这个:
import sys
sys.path.append('/home/user/')
from test1.common.api import GenericAPI
不推荐,但可能会做你想做的事情?因为我猜你的文件在<{1}} ...
文件夹中不是给定/home/user/test1/test1/common/api/
的python路径,尝试["a", "b", "c"]
会查看import a.b.c
,然后a/a/b/c
和b/a/b/c
。但是,c/a/b/c
中的 NOT 。模块名开始与a/b/c
和python路径结尾与a
没有匹配,然后遗漏了{{1}之一}}秒。它严格来说是路径+模块,而不是路径的一部分+模块的一部分。
由于您的问题是关于“多条路径”,单一路径是否适用于您?似乎不是这样......
答案 1 :(得分:0)
更像这样:
sys.path.append \
("C:\\Program Files\\DIgSILENT\\...");("C:\\Programs\\eclipse...")
答案 2 :(得分:0)
sys.path.append('/home/user/test1','/home/user/test2', ...)
不起作用,因为append()
函数只能接受1个参数。
您可以改用的是:
import sys
sys.path += ('/home/user/test1','/home/user/test2','/home/user/test3','/home/kahmed/test4')