将.txt文件转换为列表并按行索引和打印列表
我想逐行读取一个文件,然后当用户输入“background”时,能够返回文件中与背景相关的第0到第24行。
def anaximander_background():
f = open('Anaximander.txt', 'r')
fList = []
fList = f.readlines()
fList = [item.strip('\n') for item in fList]
print(fList[:20])
这段代码会给我打印出这样的列表:
['ANAXIMANDER', '', 'Anaximander was born in Miletus in 611 or 610 BCE.', ...]
我尝试了很多不同的方法,比如用for循环、if语句和while循环,还尝试了csv导入。
我最接近的结果是能打印出类似这样的内容:
[ANAXIMANDER]
[]
[info]
依此类推,这取决于我从fList
中获取了多少个对象。
我真的希望它能像我刚才展示的例子那样打印出来,但不带列表的方括号([ ])。
如果需要的话,我可以进一步解释。
2 个回答
1
要从一个文件中打印出前20行,可以使用以下代码:
import sys
from itertools import islice
with open('Anaximander.txt') as file:
sys.stdout.writelines(islice(file, 20))
3
你可以选择遍历这个列表,或者使用 str.join()
方法:
for line in fList[:20]:
print(line)
或者
print('\n'.join(fList[:20])
第一个方法是把 fList
列表中的每个元素单独打印出来,第二个方法则是把这些行合并成一个新的字符串,中间用 \n
来表示换行,然后再打印出来。