语义变化检测代码-01-读取txt文档

Background

  读取txt文档这个工作并不是会经常的遇到,但也不排除一些数据的组织过程中,会设置一个txt文档来存储所有数据的名称之类的。

  此时需要逐行读取txt文档的内容。

  读取的文档会被放置在列表里,每一行是一个元素。

代码

file_path = r"D:\test_txtFile.txt"

f = open(file_path)
data = f.read().splitlines()
f.close()

代码注释

# 对单个文件,首先使用文件的绝对路径来指向(路径前的r是必要的)
# 这里的路径需要改成自己文件的路径
# 需要注意:文件在被读取前尽量不要被一些应用程序打开
file_path = r"D:\test_txtFile.txt"

# 打开txt文档
f = open(file_path)

# read/readline/readlines三种常见的读取
# 一般都是按行读取所有信息(read)
# 每一行不保留换行符(splitlines)
# 因此直接使用下式:
data = f.read().splitlines()


# 关闭文件,不关闭的话倘若对原文档修改可能会提示“操作无法完成,因为已经在Python程序中打开”等提示
f.close()

# txt文件中每一行都以一个元素的形式存储在列表data中

代码扩展:批量添加txt文档

  往往我们需要操作许多的txt文档。典型的,可能一个文件名的.txt文档,其内部存储的是一行其类别的描述。

import glob
root_path = r"D:\txt_files\*.txt"

files_path = glob.glob(root_path)
all_data = []
for file in files_path:
    f = open(file, encoding='utf-8')
    data = f.read().splitlines()
    f.close()
    all_data.append(data)

代码注释

# 导入glob库,用于将文件夹下所有的txt文档的绝对路径存到一个列表里
import glob

# \*.txt是遍历条件,前面的是文件夹的目录
root_path = r"D:\txt_files\*.txt"

# files_path中会存储文件夹下所有文件的绝对路径
files_path = glob.glob(root_path)

# 新建一个列表,用于保存所有文件的内容
all_data = []

for file in files_path:
    f = open(file, encoding='utf-8')
    data = f.read().splitlines()
    f.close()
    # 因为每次运行for循环,data都会被更新
    # 利用append()逐个在空列表里添加元素
    # 这就是之前新建all_data列表的意义
    all_data.append(data)

参考链接

Python读取txt文件
Python中readlines()后去除换行符号\n

posted @ 2022-05-05 14:17  小澳子  阅读(206)  评论(0编辑  收藏  举报