次の構造の「users.txt」というタイトルのファイルがあります。username:info_about_the_user.
このようなもの:
users.txt:
マーク:stuffabouthim
アンソニー:stuffabouthimpeter
:stuffabouthim
peterpeter:stuffabouthim
peterpeterpeter:stuffabouthim
peterpeterpeterpeter:stuffabouthim
スクリプトの次の部分では行を変更する必要があります(ユーザーに関する情報を変更します)が、文字列が複製されると問題が発生し(peter-peterpeter)、修正方法がわかりません。
def test():
fn = 'users.txt'
f = open(fn)
output = []
changeuser = 'peterpeter'
userinfo = 'HeIsTall'
for line in f:
if not changeuser+":" in line:
output.append(line)
f.close()
f = open(fn, 'w')
f.writelines(output)
f.close()
f = open("users.txt", "a")
f.write(changeuser + ":" + userinfo+"\n")
f = open("users.txt", "a")
test()
これは私が持っている入力です:
入力:users.txt:
マーク:stuffabouthim
アンソニー:stuffabouthimpeter
:stuffabouthim
peterpeter:HesAwesome
peterpeterpeter:stuffabouthim
peterpeterpeterpeter:stuffabouthim
peterpeterに関する情報を変更し、次の出力を取得したい:
欲しい出力:users.txt:
マーク:stuffabouthim
アンソニー:彼についてのもの
peter:stuffabouthim
peterpeter:HeIsTall
peterpeterpeter:stuffabouthim
peterpeterpeterpeter:stuffabouthim
しかし、これは私が持っている入力です。とりわけ、peterpeterの背後にあるすべての行が削除されています。
マーク:stuffabouthim
アンソニー:stuffabouthim
ピーター: stuffabouthimピーターピーター:
HeIsTall
誰かが私に以下のコードで希望の出力を得るための助けを与えることができますか?ありがとう。