单词后编辑一行文本文件

时间:2018-10-08 09:49:46

标签: python text replace line edit

我有一个属性文件,必须通过python编辑它。我需要编辑course1/master行,并用我自己的密码替换随机密码。我无法这样做。

文本文件如下所示:

jmx.admin.pwd=SomeRandomPassword

下面应该是修改后的输出:

some line
some line
some line
min.pop.password=SomeRandomNumbersWordsCharacters
some line
some line
some line

由于我是Python的新手,因此非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以做的是,首先打开文件,然后将所有行读入列表content,并从每个行中删除\n。在这里,您可以在列表中搜索target,其中包含单词或某些唯一短语,为此,我们使用了password。不,我们不能在target拆分时将其设置为=,并存储target_idx。从这里开始,我们只更改了target的第二个索引.split('='),然后又变回了.join()。现在,我们可以将新行phrase分配给target_idx的{​​{1}},以替换旧的content。打开target后,使用text.txt

编写新的content
'\n'.join(content)

之前

with open('text.txt') as f:
    content = [line.strip() for line in f]

for i in content:
    if 'password' in i:
        target = i.split('=')
        target_idx = content.index(i)

target[-1] = 'My_Password'
mod = '='.join(target)

content[target_idx] = mod

with open('text1.txt', 'w') as f:
    f.write('\n'.join(content))

之后

chrx@chrx:~/python/stackoverflow/10.3$ cat text.txt 
some line
some line
some line
min.pop.password=SomeRandomNumbersWordsCharacters
some line
some line
some line