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

Python 需要帮助编写检测文件是否存在的代码吗,python,file,Python,File,我试图编写代码,首先检查文件是否存在,然后检查文件是否为空,如果不是,则将文件内容放入列表中 如果文件不存在或是空的,它应该只返回一个空列表。每当我使用一个不存在的文件测试它时,它都会说它找不到该文件,即使我告诉它如果找不到该文件,它会返回一个空字符串 这是我的密码 import os def fileToList(fileName): newList = [] fileSize = os.path.getsize(fileName) fileExist =

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

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

这是我的密码

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
    

代码出错的原因如下:

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'))

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

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

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

这一行
fileSize=os.path.getsize(fileName)
应该放在文件存在测试之后。想想看,如果文件不存在,检查大小会抛出错误,是吗?也许你应该在尝试获取文件大小之前检查文件是否存在。只需打开文件,如果不存在,则处理异常@谢谢。请批准OP post上的编辑/操作。如果文件存在,您可以简化为
如果文件大小
。此外,应使用
with open()
约定,并且(通常)函数只能有一个
return
语句。