对文件读入所有行python_Python文件内容按行读取到列表中

Python文件内容按行读取到列表中

示例文件内容如下:

Hello

World

Python

通常来讲,我们如果只是迭代文件对象每一行,并做一些处理,是不需要将文件对象转成列表的,因为文件对象本身可迭代,而且是按行迭代:

with open('somefile', 'r') as f:

for line in f:

print(line, end='')

"""

Hello

World

Python

"""

转换为列表进行操作

包含换行符

方式一

with open('somefile','r') as f:

content = list(f)

print(content)

"""

['Hello\n', 'World\n', 'Python']

"""

方式二

with open('somefile','r') as f:

content = f.readlines()

print(content)

"""

['Hello\n', 'World\n', 'Python']

"""

其中,content结果都是没有去掉每一行行尾的换行符的(somefile.txt文件中最后一行本来就没有换行符)

去掉换行符

方式一

with open('somefile','r') as f:

content = f.read().splitlines()

print(content)

"""

['Hello', 'World', 'Python']

"""

方式二

with open('somefile','r') as f:

content = [line.rstrip('\n') for line in f]

print(content)

"""

['Hello', 'World', 'Python']

"""

其中,content结果都是去掉每一行行尾的换行符

去掉行首行尾的空白字符

with open('somefile','r') as f:

content = [line.strip() for line in f]

print(content)

按行读取文件内容并得到当前行号

文件对象是可迭代的(按行迭代),使用enumerate()即可在迭代的同时,得到数字索引(行号),enumerate()的默认数字初始值是0,如需指定1为起始,可以设置其第二个参数:

with open('somefile', 'r') as f:

for number, line in enumerate(f,start=1):

print(number, line, end='')

"""

1 Hello

2 World

3 Python

"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值