• 本文收录于《Python开发》专栏,此专栏聚焦于Python开发中的编程技巧和总结,将持续更新,欢迎大家订阅!
  • 个人主页:有梦想的程序星空
  • 个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域,有较丰富的软件系统、人工智能算法服务的研究和开发经验。
  • 如果文章对你有帮助,欢迎关注点赞收藏订阅。

read()方法读取txt文本

首先,原始文本文档file1.txt存放于根目录下的filedir/file1.txt,

内容如下所示:

ajshaks
xnshdjs
sjakksx

使用read()方法读取文件,返回整个文档的内容(字符串类型),

如下所示:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
    with open("filedir/file1.txt", "r", encoding="utf-8") as f:
        text = f.read()
    
    print(text)
    print(type(text))

输出结果为:

ajshaks
xnshdjs
sjakksx
<class 'str'>

splitlines()方法获取字符串列表

如果需要输出字符串列表,再接着使用splitlines()方法,

如下所示(推荐该方式获取字符串列表):

#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
    with open("filedir/file1.txt", "r", encoding="utf-8") as f:
        text = f.read().splitlines()
    
    print(text)
    print(type(text))

输出为list列表格式,

如下所示:

['ajshaks', 'xnshdjs', 'sjakksx']
<class 'list'>

readlines()方法读取txt文本

使用readlines()方法同样也可以获取文件内容的字符串列表,

如下所示:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
    with open("filedir/file1.txt", "r", encoding="utf-8") as f:
        text = f.readlines()
    
    print(text)
    print(type(text))

输出为list列表格式:

['ajshaks\n', 'xnshdjs\n', 'sjakksx']
<class 'list'>

使用列表迭代式快速去除文本中的"\n"方法

但是,可见列表中每个元素后面都有一个"\n",该如何快速去除呢?

我们可以使用strip()方法和for in列表迭代式去除,strip()方法去除字符串开头和结尾处的指定字符。

如下所示:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
if __name__ == '__main__':
    with open("filedir/file1.txt", "r", encoding="utf-8") as f:
        text = f.readlines()

    text = [line.strip("\n") for line in text]
    print(text)
    print(type(text))

输出结果为:

['ajshaks', 'xnshdjs', 'sjakksx']
<class 'list'>

关注微信公众号【有梦想的程序星空】,了解软件系统和人工智能算法领域的前沿知识,让我们一起学习、一起进步吧!

更多推荐

Python 读取txt文本总结:read()、readlines()并去掉\n