用python编写文本文件会返回奇怪的结果?

时间:2012-07-25 23:00:33

标签: python

好的,我正在尝试简单地学习在python中阅读和编写文本文件。我可以读取文件等,但是当我尝试使用write("my string")编写文件然后执行我的代码时,我会得到意想不到的结果文件被写入,但写入的第一行将无法完全打印出来。这种情况发生在带有pymode的Vim以及命令行和解释器中。这是代码:

#!/usr/bin/python

f = open('/Users/Desktop/data.txt', 'r+')

f.write("Test")


for lines in f:
    print lines

f.close()

现在,当我执行此文件以写入data.txt时,输出将如下所示:

est< ------测试中的“T”完全被切断了。我希望这是有道理的,提前谢谢。

1 个答案:

答案 0 :(得分:3)

我认为你的问题是你写一个文件对象,然后立即从中回读。

尝试添加行

f.seek(0)
在您写入文件之后但在阅读之前

。这将重新定位Python在文件开头的位置。