我有一个简单的Python 3.6程序,我用以下目录结构编写
src/
Main.py
File_Readers/
File_Reader.py
Input_Reader.py
我编写了Input_Reader.py文件,以便它具有以下结构。
import File_Reader as fr
def read_finance_history(file_name, path_length)
"""
Function in this section reads in a .csv and
places the data into a dictionary
"""
return Dictionary
class FileReaderTest(unites.TestCase)
def test_read_finance_history(self):
""" Unit test code in this section """
我对Input_Reader.py
目录中的File_Readers
文件进行了单元测试,但它运行正常。但是,当我通过Input_Reader.py
文件中的import语句调用Main.py
程序时,它无法识别File_Reader
文件中调用的Input_Reader.py
模块。显然,代码引用了Main.py
位置的所有内容,我可以通过将Input_Reader.py
文件中的import语句更改为from File_Readers import File_Reader as fr
来解决问题,但是我无法运行单元测试来自File_Readers
目录。如何强制Input_Reader.py
文件中的import语句始终相对于该文件的位置导入?
答案 0 :(得分:2)
使用from . import File_Reader as fr