首页 > 解决方案 > 在 python 3.7 中读写文件时,如何对两个 for 循环应用 seek 方法?

问题描述

我目前正在尝试制作一个简单的 python 脚本,该脚本将从文件中提取某些数据,并将其写入第二个文件。在我的代码中,我在读取文件时使用了两次 for 循环。我已经读过,为了第二次使用 for 循环,我需要使用seek方法。这是我的代码,而 seek 方法并没有给我想要的结果。方法之后的 for 循环seek不会被执行。

with open("inmould_2_min_3_ekvivalent.inp", "r") as file1:
with open("phase_field_1.inp", "w") as file2:
    char = "****************************************"
    new_line = "\n"
    file2.write("*Heading\n"
                "** Job name: InputFileTemplate\n"
                "*Preprint, echo=NO, model=NO, history=NO, contact=NO\n"
                "**\n"
                "**PARTS\n"
                "*Part, name=Beam\n"
                "*Node\n"
                )
    for line1 in file1:
        if "*Node" in line1:
            for line2 in file1:
                if "*Element, type=CPS4R" not in line2:
                    file2.write(line2)
                else:
                    break
    file1.seek(0)
    for line3 in file1:
        if "*Element, type=CPS4R" in file1:
            for line4 in file1:
                if "*Nset, nset=bottom" not in line4:
                    file2.write(line4)
                else:
                    break

谁能帮帮我吗?我试图编写这段代码好几天,并不断遇到一些问题。

标签: filefor-looppython-3.7seek

解决方案


推荐阅读