print("Type the filename")
file_again = raw_input("> ")
lines = [6]
with open(file_again, 'r') as f:
lines = f.read().splitlines()
for line in lines:
print line
但是我不能让它逐行打印出来,而且每行都是一位数。我也想使用计数器,但我无法正确使用该语法。我尝试枚举,但对我来说效果不好
答案 0 :(得分:1)
print("Type the filename")
file_again = raw_input("> ")
with open(file_again, 'r') as f:
lines = f.readlines()
for num, line in enumerate(lines, 1):
print "%s: %s" % (num, line)
基本上,你有两个问题:
readlines()
,它返回您可以迭代的列表中的所有行。enumerate()
将简明扼要地为您提供for
循环中的计数器。然后,格式化打印行以显示计数器和行值。答案 1 :(得分:0)
Python中的文件对象是迭代器。所以你可以直接迭代它们:
\0
from __future__ import print_function # get Python 3 printing in Python 2
with open(file_again) as fobj:
for lineno, line in enumerate(fobj, 1):
print('{}: {}'.format(lineno, line), end='')
不会在打印件上添加换行符,因为每行的末尾都有换行符。
这种方法的优点是您可以轻松处理大型文件,因为您不需要一次读取整个文件。