【发布时间】:2020-11-09 10:30:44
【问题描述】:
我有一个这样的txt文件:
2,5,25,6
3,5,78,6,
5,23,24,85
6,4,79,9
69,23,12,51
我应该只提取两个值,即第一行 2 中的第一个值和最后一行 69 中的第一个值。 我写的程序如下:
with open("C:\values.txt", "r") as fp:
lines = fp.readlines()
for i in range(0, len(lines)):
print(lines[i])
但我只能打印 txt 文件中存在的所有行。
【问题讨论】:
-
注意,基本上没有充分的理由使用
readlines,它是一个遗物。文件对象是迭代器,你的代码可能只是for line in fp: print(line) -
并且在能够访问for循环中的每一行之后;那么下一步是什么?您可以开始查看 lines[i] 类型并注意到它是一个字符串,而不是(还)一个数字列表。那么如何将此字符串转换为数字列表呢?最后,访问第一行的第一个数字和最后一行的最后一个数字。
-
作为我需要的输出:2, 69
-
未提及,但如果文件大小超过可用内存,两个答案都将不起作用,只是想指出这一点,如果是这种情况,也许这会有所帮助stackoverflow.com/questions/7167008/…