为什么以下code1有效,而code2没有?
代码1:
#Read from a file
readMe = open('WriteToFile.txt', 'r').read()
print( readMe)
splitMe = readMe.split('\n')
print(splitMe)
代码2:
#Read from a file
readMe = open('WriteToFile.txt', 'r')
print( readMe.read())
splitMe = readMe.read().split('\n')
print(splitMe)
答案 0 :(得分:0)
调用read()
来浏览文件后,文件"指针" (有点像光标)停留在文件的末尾,并且再次调用read()
没有做任何事情,因为你已经在最后(并且没有什么可读的)。您需要使用file.seek(0)
将指针移动到文件的开头。
但是,最好只读一次字符串并使用它:
readMe = open('WriteToFile.txt', 'r')
content = readMe.read()
print( content)
splitMe = content.split('\n')
print(splitMe)
更好的是使用with
语句,它会自动为您关闭文件:
with open('WriteToFile.txt', 'r') as file:
content = file.read()
print(content)
lines = content.split('\n')
print(lines)
虽然,如果您的最终目标是获取线条,您可以使用readlines()
:
with open('WriteToFile.txt', 'r') as file:
lines = file.readlines()
print(lines)