Python 写入后重新打开文件
我已经成功创建了一个叫做 write.py 的程序,它可以通过 HTML 的 "post" 方式接收信息,并把这些信息(每次只有一行)写入一个叫做 infoLog.ssv 的文件里。现在我想再写一个 .py 程序,这个程序不仅能在这个文件里添加一行新文本,还能读取 infoLog.ssv 文件里的所有内容,并把它们打印到屏幕上。不过,我在程序尝试打开这个文件时遇到了一些问题。我检查过了,确实我的程序成功地在文件里添加了内容,但当我重新打开文件时,它似乎就不工作了。
f=open("infoLog.ssv","a")
strValueQuestion=str(question)
f.write("\n"+strValueQuestion)
f.close()
print "Successfully added"
f1=open("infoLog.ssv","r")
f1.close()
sys.stdout.flush()
print "It never prints this..."
正如你所看到的,在调试的时候,我现在只是打开和关闭文件,但即便如此,它还是没有打印出最后的那条信息。
2 个回答
1
看起来'r+'或'w+'这两种方式可以让你同时对一个文件进行读和写操作。
3
查看你的日志,可能在这一行 f1.open("infoLog.ssv", "r")
出现了错误。
如果你想打印文件的内容,你可能是想这样做:
with open("infoLog.ssv","r") as f1:
print f1.read()
sys.stdout.flush()
print "It should prints this... =)"
注意,如果你使用 with
语句,就不需要手动关闭文件了,具体可以参考这个链接:http://effbot.org/zone/python-with-statement.htm。