2011-01-09 67 views
1

丢失的文件我有一个程序,基本上如下:的Python:处理来自序列

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

我试图找出一种方法来处理,如果说文件20缺失将要抛出的异常,并把它告诉continue。我试图用continuetry声明,但它一直抱怨我没有正确地将它放入循环中。任何意见,将不胜感激。

基本上我想:

try: 
for: 
except: 
continue 

感谢,

回答

5

喜欢的东西:

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 

编辑固定的代码。

+2

这应该工作,比我的解决方案更Python! – nkint 2011-01-09 12:43:40

+0

检查修改后的版本,甚至更多的“pythonic”:),虽然下面的os.path.exists部分也是非常有效的,但我的处理随机错误,就像文件存在但不能读取一样。 – OneOfOne 2011-01-09 12:46:00

3

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

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