,假设我有文件data.txt。它有6行数据。我想通过浏览每个字符并找出文件中'\ n'的数量来计算我打算做的行数。如何从文件中输入一个字符? Readline占据了整条线。
答案 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对此也很有用。