如何更改python脚本,使其在文件不存在时继续循环

2024-10-03 23:28:59 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的脚本中,我在多个子目录中循环,并在子目录中创建一个包含3个文件的数据帧。我想把每个子目录的输出写到每个子目录中,但是我的代码在带有的行中给出了一个错误:“df1notdefined”

dfmerge1 = pd.merge(df1, df2, on=['genome', 'contig'], how='outer')

这可能是由于并非所有文件都存在于子目录中,并且脚本停止。如果一个子目录不包含所有三个文件,我希望脚本继续下一个子目录。我怎么能做到呢?在

我的代码是

^{pr2}$

Tags: 文件数据代码脚本genomeon错误merge
1条回答
网友
1楼 · 发布于 2024-10-03 23:28:59

您正确地检查了filepath的存在,但是您没有处理文件不存在的情况。因此,如果文件不在那里,那么df1将是上一次循环迭代的剩余值,或者如果这是第一次通过循环,则未定义。在

if os.path.isfile(filepath):
    with open(filepath, 'r') as f1:
        df1 = pd.read_csv(f1, header=None, delim_whitespace=True, names = ["contig", "genes"])
        df1['genome'] = os.path.basename(os.path.dirname(filepath))
else:
    continue

相关问题 更多 >