笔者今天在一个测试qq群中遇到解决跨目录中调用文件的问题。现在来总结一下。
以下图目录为例:
1、同目录下直接调用掉用。test2.py和test3.py在同一个目录test2下。
所以在test3.py调用test2.py可以直接调用的
import test2即可使用test2中所有的方法
2、跨目录调用,需要增加调用文件的目录。以test3.py中调用test1.py为例
在test3.py中增加test1.py所在目录下的路径。可以是相对路径也可以是绝对路径。
步骤:导入sys模块,然在在sys的path下添加路径,再导入test.py
test1.py内容如下:
def func(): print('test1')
test3.py内容如下:
import sys sys.path.append("..") from test1 import test1 test1.func() print("test3")
结果如下:
3、根据上边的做法是可以成功调用到的。但是在pycharm中会在from test1 import test1中的两个导入名称下方出现红色波浪线
解决方法:在test3.py的父目录上右键点击,选择mark directory as ,然后选择excluded。成功解决