gpt4 book ai didi

Python;读取文件路径错误

转载 作者:行者123 更新时间:2023-12-01 09:06:08 28 4
gpt4 key购买 nike

我有一个目录结构;

DIR1:
----outerPyFile.py
----目录2:
--------innerPyFile.py
--------DIR3:
------------fileToRead.csv

<小时/>

我正在innerPyFile中读取fileToRead.csv:pd.read_csv('DIR3/fileToRead.csv')如果我单独运行innerPyFile.py就可以正常工作

现在当将innerPyFile模块导入outerPyFile.py中时
导入innerPyFile
-- FileNotFoundError: DIR3\\fileToRead.csv. 不存在

我尝试将innerPyFile中的路径替换为绝对路径,如pd.read_csv(os.path.abspath('DIR3/fileToRead.csv'))

仍然,当我运行 externalPyFile 时,我得到,
FileNotFoundError C:\\\DIR1\\\DIR3\\\fileToRead.csv 不存在,

这里的代码省略了 DIR2,所以我将代码更改为 pd.read_csv(os.path.abspath('DIR2/DIR3/fileToRead.csv'))

现在,当我运行 externalPyFile.py 时,代码结构可以工作,这是可以接受的。但是当我单独运行innerPyFile时,就会出现问题,因为它将搜索DIR2,而DIR2在innerPyFile的CWD中不存在。

任何人都可能怀疑这种行为,
请回复我发生了什么事?

仅供引用,我也尝试过 pathLib 模块,但没有解决问题。

最佳答案

试试这个:

innerPyFile.py

import os
script_path = os.path.abspath(__file__) # i.e. /path/to/dir/foobar.py
script_dir = os.path.split(script_path)[0] #i.e. /path/to/dir/
rel_path = "DIR3/fileToRead.csv"
abs_file_path = os.path.join(script_dir, rel_path)

pd.read_csv(abs_file_path)

outerPyFile.py

import DIR2.innerPyFile
#......do something.....

关于Python;读取文件路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52036396/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com