gpt4 book ai didi

python - "Error: File or directory does not exist"但正如 os.listdir 所确认的那样,它们确实存在

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:05 25 4
gpt4 key购买 nike

我正在编写一个程序,它应该从一个目录中读取多个 csv 文件并对每个文件进行一些分析。我有这些功能:

# Function reads in files and saves data into 2 dimensional array
def ReadInFiles(name):
try:
data = []
fname = csv.reader(open(name, 'r'))
#print 'read in file: ' + str(fname)
rowCount = 0
for row in fname:
if rowCount != 0: # skip headings
data.append(row)
rowCount += 1
#print name + ' ' + str(row) + ' read in successfully \n'
except IOError: "Can't read files"


return data


#Function reads in files in a folder
def ReadDirectory (dirName):
try:
Data = []
for files in os.listdir(dirName):
print '\n FILE: ' + files
Data = ReadInFiles(files)
AnalyzeData(Data, daysElapsed, columns = 4)

except IOError:
print 'Directory does not exist!'

return

奇怪的是,如果我忽略 ReadDirectory 函数而只使用 ReadInFile 函数,它会完美地工作(文件读入没有任何问题)但是一旦我从 ReadDirectory 调用 ReadInFunction,我得到错误 IOError: [Errno2 ] 文件或目录不存在:logfile.csv使用 os.listdir 列出目录中的文件也很完美。

我将包含 csv 文件的文件夹作为包含源代码的目录中的子目录。我注意到,如果我也将这些文件的副本也放在源代码目录中,我的脚本可以完美运行,但如果我删除这些副本,我又会开始出现错误。

我搜索了以前的帖子并尝试了双斜杠,/但没有任何效果。我已经检查了该文件夹的权限,但它也无济于事。

任何帮助将不胜感激!!

谢谢。

附言我是 python 的新手,所以请原谅我可能有错误的代码

最佳答案

os.listdir() 返回不包含文件所在目录名称的裸文件名。

你的意思可能是:

 Data = ReadInFiles(os.path.join(dirName, files))

附言为什么 files 指的是单个文件名时是复数?

附言下面的 except block 没有做任何有用的事情并且悄悄地忽略了所有错误:

except IOError: "Can't read files"

关于python - "Error: File or directory does not exist"但正如 os.listdir 所确认的那样,它们确实存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9163846/

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