需要帮助编写代码来检测文件是否存在

时间:2020-08-31 21:56:20

标签: python file

我正在尝试编写代码,该代码首先检查文件是否存在,然后检查文件是否为空,如果不存在,则将文件内容放入列表中。

如果文件不存在或为空,则应仅返回一个空列表。每当我使用不存在的文件进行测试时,它都会说找不到文件,即使我告诉它找不到文件也要返回空字符串。

这是我的代码。

import os

def fileToList(fileName):
  
    newList = []
  
    fileSize = os.path.getsize(fileName)
    fileExist = os.path.exists(fileName)
   
    if fileExist == True:
        if fileSize != 0:
            f = open(fileName,"r")
            for line in f:
                newList.append(line.strip())
            f.close()
            return newList
        else:
            return newList
        
    else:
        return newList
    

2 个答案:

答案 0 :(得分:0)

您的代码给您一个错误的原因是此行:

_

如果文件不存在,则无法获取文件的大小。

fileSize = os.path.getsize(fileName)

答案 1 :(得分:0)

将行fileSize = os.path.getsize(fileName)移动到代码中if fileExist == True:的右下方(为commented),否则当文件不存在时会抛出错误。

您修改后的代码将如下所示:

import os

def fileToList(fileName):
  
    newList = []
  
    fileExist = os.path.exists(fileName)
   
  
    if fileExist == True:
        fileSize = os.path.getsize(fileName)
        if fileSize != 0:
            f = open(fileName,"r")
            for line in f:
                newList.append(line.strip())
            f.close()
            return newList
        else:
            return newList
        
    else:
        return newList