csv 修复try循环总是执行except - else

ltskdhd1  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(108)

在这个“try,except,else”循环中,基本上我不明白为什么它总是选择french_words. csv。IIUC,如果words_to_learn.csv存在,则它将使用该csv文件,如果不存在,则使用french_words. csv。

import pandas

french = {}
try:
    data = pandas.read_csv("data/words_to_learn.csv")
except FileNotFoundError:
    org_data = pandas.read_csv("data/french_words.csv")
    french = org_data.to_dict(orient="records")
else:
    french = data.to_dict(orient="records")

print(french)
mbyulnm0

mbyulnm01#

(The发布的代码没有缩进,所以我编辑了你的问题来恢复它,并将其修剪到相关部分。
您正确地描述了这个try循环意味着字典 french 将优选地从主文件 words_to_learn.csv 加载,但是在没有所述文件的情况下,它将转而求助于阅读备份文件 french_words.csv
请注意,如果在阅读 words_to_learn.csv 时出现错误,则不会很好地覆盖,因为 data 不会被定义。但事实并非如此,因为您没有报告此类错误。
现在,为什么脚本总是求助于从备份加载?请验证主文件的存在,并在您的问题中报告它,方法是在代码中插入以下内容:

import os.path as osp

primary_file = "data/words_to_learn.csv"

print(osp.isfile(primary_file))

如果返回False,那么你就得到了答案。
如果是真的,我们就继续谈。

相关问题