从文件中获取python中的字符输入?

时间:2010-05-03 21:12:01

标签: python file

在python中

,假设我有文件data.txt。它有6行数据。我想通过浏览每个字符并找出文件中'\ n'的数量来计算我打算做的行数。如何从文件中输入一个字符? Readline占据了整条线。

4 个答案:

答案 0 :(得分:3)

我认为您正在寻找的方法是readlines,如

lines = open("inputfilex.txt", "r").readlines()

这将为您提供文件中每行的列表。要了解有多少行,您可以这样做:

len(lines)

然后使用索引(例如lines[3]lines[-1])访问它,就像使用普通的Python列表一样。

答案 1 :(得分:1)

您可以使用read(1)来读取单个字节。 help(file)说:

  

read( size ) - >最多读取 size 字节,以字符串形式返回。

     

如果 size 参数为负数或省略,请读取直到达到EOF。        请注意,在非阻塞模式下,数据少于请求的数据        即使没有给出 size 参数,也可能会返回。

请注意,一次读取一个字节的文件非常不“Pythonic”。这与C课程相同,但Python可以用更少的代码完成更多的工作。例如,您可以在一行代码中将整个文件读入数组:

lines = f.readlines()

然后,您可以通过简单的lines[lineNumber]查询按行号访问。

或者,如果您不想一次将整个文件存储在内存中,可以逐行迭代:

for line in f:
    # Do whatever you want.

这更具可读性和惯用性。

答案 2 :(得分:0)

对你来说似乎最简单的答案是:

for line in file:
    lines += 1
    # do whatever else you need to do for each line

或明确使用readline()的等效结构。当你在上面说readline()正确地读完每一行时,我不确定你为什么要看每个角色。

答案 3 :(得分:0)

要根据文件的行访问文件,请列出其行。

with open('myfile') as f:
    lines = list(f)

然后只需访问lines[3]即可获得第四行,依此类推。 (请注意,这不会删除换行符。)

linecache module对此也很有用。