首页 > 解决方案 > Python如何替换文本文件中特定行中的特定单词?

问题描述

我是 Python 新手,如何在 Python 的文本文件中替换一行中的特定单词?就像假设我有一个文本文件:

1 2 3 4 5
1 2 3 1 5

如何在 Python 的第二行中替换第二1个?4

标签: python

解决方案


我不知道你在看什么文件,或者它是否真的被解析过,但看起来你只是在学习 Python,所以这里有一些例子。

首先,您可以逐行读取文件,并用空格分割每一行。

>>> lines = [l.split() for l in open('foobar.txt').readlines()]
>>> lines
[['1', '2', '3', '4', '5'], ['1', '2', '3', '1', '5']]

所以现在我们有一个行列表,列表中的每一行都是一个单词列表。我们可以以我们认为合适的方式操纵它。例如,

>>> lines[1][3] = 999
>>> lines
[['1', '2', '3', '4', '5'], ['1', '2', '3', 999, '5']]

我们可以遍历每个单词和每一行:

>>> for line_number, line in enumerate(lines):
        for word_number, word in enumerate(line):
             print(f'Line {line_number}, word {word_number}: {word}')

Line 0, word 0: 1
Line 0, word 1: 2
Line 0, word 2: 3
Line 0, word 3: 4
Line 0, word 4: 5
Line 1, word 0: 1
Line 1, word 1: 2
Line 1, word 2: 3
Line 1, word 3: 999
Line 1, word 4: 5

推荐阅读