【发布时间】:2019-02-01 19:40:27
【问题描述】:
我有一个目录结构;
DIR1:
----outerPyFile.py
----DIR2:
--------innerPyFile.py
--------DIR3:
------------fileToRead.csv
我正在读取 innerPyFile 中的 fileToRead.csv:pd.read_csv('DIR3/fileToRead.csv')
如果我单独运行 innerPyFile.py 效果很好
现在当在 outerPyFile.py 中导入 innerPyFile 模块时import innerPyFile
-- FileNotFoundError: DIR3\\fileToRead.csv. 不存在
我尝试用 absolute path 在innerPyFile 中将路径替换为pd.read_csv(os.path.abspath('DIR3/fileToRead.csv'))
不过,当我运行 outerPyFile 时,我得到了,
FileNotFoundError C:\\\DIR1\\\DIR3\\\fileToRead.csv 不存在,
这里的代码省略了 DIR2,所以我将代码更改为 pd.read_csv(os.path.abspath('DIR2/DIR3/fileToRead.csv'))
现在,当我运行 outerPyFile.py 时,代码结构工作文件是可以接受的。 但是当我单独运行innerPyFile时会出现问题,因为它会搜索在innerPyFile的CWD中不存在的DIR2。
任何人都可以怀疑这种行为,
请回复我这是怎么回事?
仅供参考,我也试过 pathLib 模块,但没有解决问题。
【问题讨论】:
标签: python path absolute-path os.path pathlib