Python:处理序列中的缺失文件

1 投票
2 回答
2844 浏览
提问于 2025-04-16 09:39

我有一个程序,大致是这样的:

for l in range(0,100):  
 file = open("C:/Twitter/json/user_" + str(l) + ".json", "r")
 #do some stuff
 file.close()

我想找个办法来处理一个异常,也就是如果文件20缺失的话,程序会抛出一个错误,然后我想让它继续运行。我试着在try语句里用continue,但是它总是抱怨我没有把它放在循环里。有什么建议吗?

基本上我尝试过:

try:
 for:
except:
 continue

谢谢,

2 个回答

4

你可以先检查文件是否存在,然后再打开它:

import os.path
os.path.exists(file_path)
8

像这样:

import json
for l in xrange(100):
    try:
        with open('C:/Twitter/json/user_%d.json' % l, 'r') as f:
            data = json.load(f)
            #do stuff with obj
    except IOError:
        pass

编辑 修正了代码。

撰写回答