使用Try和Except Python 2.7.1进行文件打开功能

O.r*_*rka 6 python file function try-catch except

def FileCheck(fn):       
       try:
           fn=open("TestFile.txt","U") 
       except IOError: 
           print "Error: File does not appear to exist."
       return 0 
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个函数来检查文件是否存在,如果不存在,那么它应该打印错误消息并返回0.为什么不工作?

Ore*_*ail 18

如果要从except块中返回,则需要缩进返回0.而且,你的论点没有做太多的事情.我假设您希望此函数能够测试任何文件,而不是将其分配给文件句柄?如果没有,您不需要任何参数.

def FileCheck(fn):
    try:
      open(fn, "r")
      return 1
    except IOError:
      print "Error: File does not appear to exist."
      return 0

result = FileCheck("testfile")
print result
Run Code Online (Sandbox Code Playgroud)


JrB*_*ito 5

我认为os.path.isfile()如果您只想“检查”文件是否存在会更好,因为您不需要实际打开该文件。无论如何,打开文件后关闭文件被认为是最佳实践,上面的示例不包括这一点。