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

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

示例文件内容如下:

1
2
3
Hello
World
Python

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

1
2
3
4
5
6
7
8
9
with open('somefile', 'r') as f:
for line in f:
print(line, end='')

"""
Hello
World
Python
"""

转换为列表进行操作

  1. 包含换行符
  • 方式一
    1
    2
    3
    4
    5
    6
    with open('somefile','r') as f:
    content = list(f)
    print(content)
    """
    ['Hello\n', 'World\n', 'Python']
    """
  • 方式二
    1
    2
    3
    4
    5
    6
    with open('somefile','r') as f:
    content = f.readlines()
    print(content)
    """
    ['Hello\n', 'World\n', 'Python']
    """
    其中,content结果都是没有去掉每一行行尾的换行符的(somefile.txt文件中最后一行本来就没有换行符)
  1. 去掉换行符
  • 方式一
    1
    2
    3
    4
    5
    6
    with open('somefile','r') as f:
    content = f.read().splitlines()
    print(content)
    """
    ['Hello', 'World', 'Python']
    """
  • 方式二
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    with open('somefile','r') as f:
    content = [line.rstrip('\n') for line in f]
    print(content)
    """
    ['Hello', 'World', 'Python']
    """
    ```
    其中,content结果都是去掉每一行行尾的换行符

    3. 去掉行首行尾的空白字符
    with open(‘somefile’,’r’) as f:
    content = [line.strip() for line in f]
    print(content)
    1
    2
    3

    ### 按行读取文件内容并得到当前行号
    文件对象是可迭代的(按行迭代),使用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
    “””
    
    

参考博客

本文标题:Python文件内容按行读取到列表中

文章作者:shuke

发布时间:2020年04月20日 - 15:04

最后更新:2020年04月20日 - 15:04

原始链接:https://shuke163.github.io/2020/04/20/Python%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9%E6%8C%89%E8%A1%8C%E8%AF%BB%E5%8F%96%E5%88%B0%E5%88%97%E8%A1%A8%E4%B8%AD/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------

本文标题:Python文件内容按行读取到列表中

文章作者:shuke

发布时间:2020年04月20日 - 15:04

最后更新:2020年04月20日 - 15:04

原始链接:https://shuke163.github.io/2020/04/20/Python%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9%E6%8C%89%E8%A1%8C%E8%AF%BB%E5%8F%96%E5%88%B0%E5%88%97%E8%A1%A8%E4%B8%AD/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%