Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 告诉python解释器使用当前路径解析相对目录_Python 3.x_Python Import - Fatal编程技术网

Python 3.x 告诉python解释器使用当前路径解析相对目录

Python 3.x 告诉python解释器使用当前路径解析相对目录,python-3.x,python-import,Python 3.x,Python Import,我有一个非常普通的源代码存储库,如以下结构: aProject |-----> __init__.py |-----> src | |-----> __init__.py | |-----> file1.py | |-----> file2.py | |-----> test |-----> __init__.py |-----> test_file1.py |--

我有一个非常普通的源代码存储库,如以下结构:

aProject
|-----> __init__.py
|-----> src
|       |-----> __init__.py
|       |-----> file1.py
|       |-----> file2.py
|
|-----> test
        |-----> __init__.py
        |-----> test_file1.py
        |-----> augmentationFile.py
对于我的情况,test_file1.py使用了augmentationFile.py,它引用src目录,augmentationFile.py中的
from src import*
语句成功地找到了模块

我可以从主aProject目录运行unittest模块,augmentationFile.py中的sys.path将“”显示为其第一个参数。这使python能够找到相对的src目录

但是,当我从类似的项目目录运行时,这次使用
python test/augmentationFile.py
,python将sys.path[0]设置为test文件夹,并且无法解析
from src import*
语句并发出抱怨

我如何告诉python解释器(我可能会错误地找到一个合适的标志来阅读)正确地推断目录?我想到的一个选项是将augmentationFile.py的import语句更改为if语句,检查sys.path并决定是否从“.src”或“src”导入。在每一个类似的情况下都不得不这样修改源代码,这让我很害怕。 因此,我要问的是,考虑到当前工作目录,是否以及如何告知解释器解析相对路径?
谢谢,

当我特意将该文件作为一个模块运行时,它解决了:
python-mtest.augmentationFile
。问题在于src语句的错误位置,它位于代码内部,不是一个普通的导入语句。

这是我用来获取工作目录的内容&继续其余操作import os path=os.getcwd()