python读取txt文件并分割成列表_Python:读取文本文件并将文件拆分为列表变...

使用生成器,您可以定义一个惰性读取器,该读取器每次都会产生4个值的列表.

您可以如下所述耗尽或延迟迭代生成器.

import csv

from io import StringIO

mystr = StringIO("""1 @M9890393393

2 ATCTGTAAAA

3 +

4 FG%@ATAAAA

5 @M9890393394

6 ATGTCTATCC

7 +

8 AA%$$983089

""")

def gen():

# replace mystr with open('file.csv', 'r')

with mystr as fin:

reader = csv.reader(fin, delimiter=' ', skipinitialspace=True)

res = []

for line in reader:

res.append(line[1])

if len(res) == 4:

yield res

res = []

耗尽发电机:

lines = list(gen())

print(lines)

[['@M9890393393', 'ATCTGTAAAA', '+', 'FG%@ATAAAA'],

['@M9890393394', 'ATGTCTATCC', '+', 'AA%$$983089']]

迭代生成器:

for line in gen():

print(line)

['@M9890393393', 'ATCTGTAAAA', '+', 'FG%@ATAAAA']

['@M9890393394', 'ATGTCTATCC', '+', 'AA%$$983089']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值