为了账号安全,请及时绑定邮箱和手机立即绑定

fout.write()之后.txt文件末尾的奇怪加法-Python

fout.write()之后.txt文件末尾的奇怪加法-Python

小怪兽爱吃肉 2021-05-09 13:51:40
我正在编写一个程序,该程序将从模板中提取变量并有效地将“查找/替换”到模板中。示例模板:VARIABLES@username@password@secret###########################################################My username is @usernamePassword is @passwordSecret is @secret该程序将找到每个变量,并逐个询问用户输入,打开文件,保存内容,然后关闭文件以准备下一个变量。除了一个奇怪的以外,其他一切都运转良好。运行代码后,文本文件的末尾似乎有点疯狂。参见下面的输出。如您所见,它成功地获取了变量并将其放置,但是它在末尾添加了“ TESTis TESTetis @secret”吗?VARIABLESUserPassTEST###########################################################My username is UserPassword is PassSecret is TESTis TESTis TESTetis @secret我是Python的新手(本周),请谅解下面的代码。我以自己的特殊方式使它起作用!它可能不是最有效的。只是努力查看在哪里添加了额外的内容。代码:##COPY CONTENTS FROM READ ONLY TO NEW FILEwith open("TestTemplate.txt", "rt") as fin:    with open("out.txt", "wt") as fout:        for line in fin:            fout.write(line)        fin.seek(0)        fout.seek(0)        fin.close()        fout.close()##PULL VARIABLES AND FIND/REPLACE CONTENTSwith open("out.txt", "rt") as fin:    with open("out.txt", "rt") as searchf:        with open("out.txt", "r+") as fout:            for line in fin:                if line.startswith("@"):                    trimmedLine = line.rstrip()                    ## USER ENTRY                    entry = input("Please Enter " + trimmedLine + ": ")                    for line in searchf:                        ## ENSURE ONLY VARIABLES AFTER '#' ARE EDITED. KEEPS IT NEAT                        if trimmedLine in line:                            fout.write(line.replace(trimmedLine,entry))                        else:                            fout.write(line)                    ##RESET FOCUS TO THE TOP OF THE FILE READY FOR NEXT ITERATION                    searchf.seek(0)                    fout.seek(0)提前致谢
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 407 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信