python - 需要帮助编写检测文件是否存在的代码
问题描述
我正在尝试编写代码,首先检查文件是否存在,然后检查文件是否为空,如果不是,则将文件的内容放入列表中。
如果文件不存在或为空,它应该只返回一个空列表。每当我使用不存在的文件对其进行测试时,它都会说找不到该文件,即使我告诉它如果找不到该文件则返回一个空字符串。
这是我的代码。
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'))