我有以下文件夹结构。
application/app/src/app.py
application/app/data/test.py
App导入测试,它运行成功,但是在test.py中我要打开一个名为" dummy.txt"
的文件application/app/data/dummy.txt
当我运行app.py时,我收到以下错误:
No such file or directory: 'dummy.txt'
我假设它,因为我的sys.path在src文件夹中,但是当我尝试以下内容时:
TARGET_DIR_NAME = 'data'
sys.path.append('../'+TARGET_DIR_NAME)
print(sys.path[0])
print(dirname(sys.path[0]))
sys.path[0] = dirname(sys.path[0])+'/'+TARGET_DIR_NAME
它将其更改为数据文件夹,但它仍然无法打开。任何帮助表示赞赏!
我正在使用python 3.4.3
答案 0 :(得分:1)
最好的方法是定义一些utility
模块,它根据您的基本路径为您提供路径,如下所示:
PathUtil.py
可以是src
文件夹中的一个模块。并且,您将从那里计算您的路径。
import os
base_path = os.path.abspath(os.path.dirname(__file__))
def get_data_path(self):
data_dir = os.path.join(base_path, "data" + os.sep)
return data_dir
现在,在您的文件中,您可以按如下方式导入:
import os
from PathUtil import get_data_path
dummy_file_path = os.path.join(get_data_path(), 'dummy.txt')