f.read空了

时间:2011-02-10 02:02:20

标签: python string file

我在翻译中做了这一切......

loc1 = '/council/council1'
file1 = open(loc1, 'r')

此时我可以执行file1.read()并将文件内容作为字符串输出到标准输出

但如果我加上这个..

string1 = file1.read()

字符串1回来了空..我不知道我可能做错了什么。这似乎是最基本的东西!

如果我再次输入file1.read(),则输出到标准输出只是一个空字符串。所以,当我尝试使用file1.read()

创建一个字符串时,不知何故我丢失了我的文件

4 个答案:

答案 0 :(得分:5)

您只能阅读一次文件。之后,当前的读取位置位于文件的末尾。

如果在重新阅读之前添加file1.seek(0),则应该能够再次阅读内容。然而,更好的方法是第一次读入字符串然后将其保存在内存中:

loc1 = '/council/council1'
file1 = open(loc1, 'r')
string1 = file1.read()
print string1

答案 1 :(得分:2)

你不会丢失它,只需将偏移指针移动到文件末尾并尝试读取更多数据。由于它是文件的末尾,因此没有更多数据可用,并且您将获得空字符串。尝试重新打开文件或寻求零位置:

f.read()
f.seek(0)
f.read()

答案 2 :(得分:0)

使用-kTableHeaderHeight是最好的语法,因为它在使用后关闭了与文件的连接(因为python 2.5):

with

答案 3 :(得分:-1)

确保您的位置正确无误。您实际上在根目录(/council)下有一个名为/的目录吗?也可以使用os.path.join()创建路径

loc1 = os.path.join("/path","dir1","dir2")