Python 读取.txt, .md等文本文件

本文介绍如何使用Python高效地读取.txt和.md等文本文件内容,包括使用内置函数open()的不同模式,以及利用上下文管理器确保文件正确关闭。同时探讨了读取大文件时的分块读取策略,以避免一次性加载整个文件到内存中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# example.md
1 2 3
4 5 6
7 8 9

>>> with open('example.md') as f:
        lines = f.readlines()
>>> lines
['1 2 3\n', '4 5 6\n', '7 8 9\n']
# 我们发现每一行后面都会有一个回车符,我们使用strip()函数消除它
>>> lines = [i.strip() for i in lines]
['1 2 3', '4 5 6', '7 8 9']
# 每个元素是一个string,但是我们需要读取的是文本数据,所以需要将string转化为int(or float)
>>> data = []
>>> for line in lines:
        data.append([int(i) for i in line.split(' ')])
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 最后可以把list转化为ndarray形式
>>> data = np.array(data)
>>> data
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
# 把上述步骤写到一个函数里
>>> def read_file(file):
        """
        read .md or .txt format file
        :param file: .md or .txt format file
        :return: data
        """
        with open('example.md') as f:
            lines = f.readlines()
        data = []
        for line in lines:
            data.append([int(i) for i in line.strip()
### 将 TXT 文件转换为 MD 文件 为了将 `.txt` 文件转换为 `.md` (Markdown) 文件,可以采用多种方法和技术手段。以下是几种常见的做法: #### 使用命令行工具 Pandoc 进行转换 Pandoc 是一款功能强大且灵活的文档转换工具,支持众多输入和输出格式之间的相互转换。对于简单的纯文本到 Markdown 的转换而言,此工具非常适合。 ```bash pandoc input.txt -o output.md ``` 这条命令会读取名为 `input.txt` 的文件并将其内容按照 Markdown 语法写入新的 `output.md` 文件中[^1]。 #### 编写 Python 脚本自动完成转换 如果希望更精细地控制转换过程,则可以选择编写自定义脚本来实现特定需求下的转换逻辑。Python 提供了丰富的库用于处理文本数据,在这里推荐使用 `markdownify` 库来进行 HTML 到 Markdown 的转换;而对于纯粹的文字内容,只需简单调整结构即可满足大多数场景的需求。 下面是一个基本的例子展示如何利用 Python 实现这一目标: ```python def convert_txt_to_md(input_file_path, output_file_path): with open(input_file_path, 'r', encoding='utf-8') as f_in: lines = f_in.readlines() formatted_lines = [] for line in lines: stripped_line = line.strip() if not stripped_line.startswith('#'): # Add a single newline before each non-empty paragraph. if stripped_line and not formatted_lines or \ (formatted_lines[-1].strip() != '' and stripped_line): formatted_lines.append('\n') formatted_lines.append(stripped_line) result_text = ''.join(formatted_lines).lstrip().replace('"\n"', '\n') with open(output_file_path, 'w', encoding='utf-8') as f_out: f_out.write(result_text) convert_txt_to_md('example_input.txt', 'converted_output.md') ``` 这段代码实现了基础的功能——它能够保持原有段落分隔的同时去除多余空白符,并适当增加新行以符合 Markdown 显示习惯[^2]。 #### 手动编辑或在线服务辅助 对于较小规模的手工修改任务,也可以考虑直接打开 .txt 文件并在其中加入必要的 Markdown 符号标记后再保存为 .md 后缀名的新文件。此外还有许多网站提供免费的在线文本转 Markdown 服务,这些平台往往具备直观易用的操作界面以及即时预览效果等功能特性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值