我有以下文件夹结构。
application/app/src/app.py
application/app/data/test.py
应用程序导入测试,它运行成功,但是 test.py 我想打开一个名为"虚拟.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
最好的方法是定义一些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')