[英]Editing a line of text file after a word
我有一個屬性文件,必須通過 python 編輯它。 我需要編輯行jmx.admin.pwd=SomeRandomPassword
並用我自己的密碼替換隨機密碼。 我無法這樣做。
文本文件如下所示:
some line
some line
some line
min.pop.password=SomeRandomNumbersWordsCharacters
some line
some line
some line
下面應該是修改后的輸出:
some line
some line
some line
min.pop.password=My_Password
some line
some line
some line
由於我是 Python 新手,因此非常感謝任何幫助。
您可以做的是,首先打開文件,然后將所有行讀入列表content
從每個行中刪除\\n
。 從這里你可以搜索這個列表,您的target
具有的單詞或它的一些獨特的詞組,對於這一點,我們使用password
。 不,我們可以將它設置為target
同時在=
處拆分它,並存儲target_idx
。 從這里我們只需更改我們.split('=')
的target
的第二個索引,然后將.join()
重新組合在一起。 現在我們可以將我們的新行phrase
分配給替換舊target
的content
的target_idx
。 在我們可以打開我們的text.txt
備份並使用'\\n'.join(content)
寫入新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
后
chrx@chrx:~/python/stackoverflow/10.3$ cat text.txt some line some line some line min.pop.password=My_Password some line some line some line
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.