【发布时间】:2020-08-31 21:56:20
【问题描述】:
我正在尝试编写代码,首先检查文件是否存在,然后检查文件是否为空,如果不是,则将文件的内容放入列表中。
如果文件不存在或为空,它应该只返回一个空列表。每当我使用不存在的文件对其进行测试时,它说它找不到该文件,即使我告诉它如果找不到该文件返回一个空字符串。
这是我的代码。
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)应该在文件存在测试发生后放置。想想看,如果文件不存在,检查大小会报错,是吗? -
也许你应该检查文件是否存在之前试图获取它的大小。
-
只要打开文件并处理异常,如果它不存在!