使用时在python中读取文件
f = open ("filename.txt")
并使用。访问数据
f.read(1)
最后找到流usibg的位置
f.tell()
每一步;我们得到一个从0开始到当前位置的连续编号。
我面临的问题是,我实际上为某些职位获得了f.tell()
的随机数,然后继续编号。
例如,f.tell()
输出看起来像下面的内容
0
1
2
3
133454568679978
6
7
8...
知道为什么会这样吗?
我的代码:
f=open("temp_mcompress.cpp")
current = ' '
while current != '' :
print(f.tell())
current = f.read(1)
f.close()
Temp_mcompress.cpp文件:
#include <iostream>
int main(int a)
{
}
输出:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
18446744073709551636
18446744073709551638
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
18446744073709551655
40
41
43
44
答案 0 :(得分:2)
似乎我可能已经发现了可能仍适用于python 3.x的问题: 来源:http://docs.python.org/2.4/lib/bltin-file-objects.html
推荐()
返回文件的当前位置,如stdio的ftell()。
注意:在Windows上,tell()可以返回非法值(在fgets()之后) 使用Unix风格的行结尾读取文件时。使用二进制模式 ('rb')来解决这个问题。