我是Python的新手,正在阅读Python Tutorial
中的文件所以,我制作了一个小程序来练习文件处理:
from sys import *
script , file_name = argv
print "Your file is : %s" %file_name
print "Opening the file..."
temp = open(file_name, 'r+')
print "Truncating the file "
temp.truncate()
print "Enter three lines."
line1 = raw_input("line 1: ")
line2 = raw_input("line 2: ")
line3 = raw_input("line 3: ")
print "Writing these to the file."
temp.write(line1)
temp.write("\n")
temp.write(line2)
temp.write("\n")
temp.write(line3)
temp.write("\n")
#for line in temp:
#print line
#temp.read()
print "Closing it."
temp.close()
我的问题:
不知何故,我无法使用上面代码中的任何一个注释(#)语句将文件内容打印到终端。有人可以帮助我吗?
答案 0 :(得分:3)
当你附加到文件时,python正在读取你的"光标"在文件中,它在最后。
您需要关闭文件并将其打开为" r",然后您就可以从头开始索引内容了。
答案 1 :(得分:2)
您可以添加一行
temp.seek(0,0)
前
for line in temp:
print line
temp.read()
因此,再次将指针设置为文件的开头
有关seek()
的详细信息,请参阅https://stackoverflow.com/a/11696554/1686094