我有一个名为的文件用户.txt'具有以下结构;username:info_about_the_user.
像这样:
用户.txt:
mark:stuffabouthim
anthony:stuffabouthim
peter: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()
这是我的输入:
输入:用户.txt:
mark:stuffabouthim
anthony:stuffabouthim
peter:stuffabouthim
peterpeter:HesAwesome
peterpeterpeter:stuffabouthim
peterpeterpeterpeter:stuffabouthim
我想更改有关彼得彼特的信息,并有以下输出:
我想要的输出:用户.txt:
mark:stuffabouthim
anthony:stuff about him
peter:stuffabouthim
peterpeter:HeIsTall
peterpeterpeter:stuffabouthim
peterpeterpeterpeter:stuffabouthim
但这就是我的输入。彼得彼特后面的所有台词都被删除了。在
mark:stuffabouthim
anthony:stuffabouthim
peter:stuffabouthim
peterpeter:HeIsTall
有谁能帮我完成下面的代码以获得所需的输出吗?谢谢。在
您可以使用^{} 模块轻松实现:
在
if
-子句中有一个逻辑错误,删除了所有的peter*,剩下的唯一peter就是附加到文件中的那个。在一般来说,肯定从句比否定句更容易理解:
^{pr2}$好的代码容易阅读。试着像写报告一样编写代码!这会自动地将代码分割成更小的部分,比如函数。e、 g.:
你的代码会被分割成更小的部分,如果发生错误,你可以把它固定在几行代码上,而不是在几页上工作。;—)
试试这个:
输出:
^{pr2}$相关问题 更多 >
编程相关推荐