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