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

如何在文件上一遍又一遍地写入相同的数据?

如何在文件上一遍又一遍地写入相同的数据?

翻阅古今 2022-05-19 14:13:11
我想做一个脚本,让我可以写N次相同的数据段,但我不知道怎么做,你能帮我吗?我试过这个:fin = open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\1212.osg", "rt")fout = open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\testreecrtiure.osg", "wt")for line in fin:             fout.write(line.write("...."))但我不知道我是否必须使用循环或类似的东西
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

这是一个简单的实现,它将输入文件写入 42 次。


with open('output', 'w') as fout:

    for x in range(42):

        with open('input', 'r') as fin:

            for line in fin:

                fout.write(line)

seek()如果您愿意,您可以将其倒回,而不是反复关闭和重新打开输入文件;但我更喜欢这种方法,它还可以在最后自动关闭这两个文件,而你忘记在代码中这样做了。


(您可能应该避免在代码中硬编码绝对路径。)


查看完整回答
反对 回复 2022-05-19
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

试试这个:


fin = open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\1212.osg", "r")

fout = open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\testreecrtiure.osg", "w")



for line in fin:

    fout.write(line)


fin.seek(0,0)


for line in fin:

    fout.write(line)

完成“读写”后,“fin”的指针应该移到开头。


所以你需要添加这一行:fin.seek(0,0)在你开始另一个“读写”之前。


这是写N次的代码


fin = open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\1212.osg", "r")

fout = open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\testreecrtiure.osg", "w")


N=5  # For example, repeat 5 times

for count in range(0,N):

    for line in fin:

        fout.write(line)

    fin.seek(0,0)


查看完整回答
反对 回复 2022-05-19
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

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