首页 > 解决方案 > 需要帮助编写检测文件是否存在的代码

问题描述

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

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

这是我的代码。

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
    

标签: pythonfile

解决方案


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

fileSize = os.path.getsize(fileName)

如果文件不再存在,您将无法获得它的大小。

import os

def fileToList(fileName):
    if os.path.exists(fileName) and os.path.getsize(fileName):
        with open(fileName, 'r') as f:
            return f.readlines()
    else:
        return []
    
print(fileToList('random.txt'))

推荐阅读