如何在其他循环中继续enumarete()循环

齐亚特人

我坚持这样:

当第二个文件中找到'/ MAT / LAW02 / 1'并将其写入时,我想从文件中抓取将来的12行。

之后,我希望它继续进行分析,直到最后。

但是我被困住了,因为我永远找不到关于这个问题的话题。

这是我当前的代码:

inputRadFile = "demo/textA.txt"
outputRadFile = "demo/textB.txt"

with open(outputRadFile, "w") as textFileClean:
    with open(inputRadFile, "r") as textFile:
        for i, line in enumerate(textFile):
            if '/MAT/LAW02/1' in line:
                catchInfo = line.strip().split()
                toString = ''.join(catchInfo)
                textFileClean.write(toString)
    textFile.close()
textFileClean.close()

这是我要提取的textA文件的一部分(因为textA文件有200,000行):

/MAT/LAW02/1
ES_ODG2_MED-5                                                                                      
#                RHO|           REF. RHO|
             7.82E-9
#                  E|                  v|
             210000.                 0.3
#                  a|                  b|                  n|               emax|               smax|
               273.1               437.6               0.724               1.E30               1.E30
#                  c|                 e0|      ICC|  Fsmooth|               Fcut|              Chard|
               0.097                0.32         1         0               1.E30
#                  m|              Tmelt|             rho0Cp|                 Ti|
                  0.                  0.                  0.                298.

这是运行上述代码后的我的textB文件:

/MAT/LAW02/1

我想到了这样的事情:

from itertools import islice

inputRadFile = "demo/textA.txt"
outputRadFile = "demo/textB.txt"

with open(outputRadFile, "w") as textFileClean:
    with open(inputRadFile, "r") as textFile:
        it = iter(enumerate(textFile))
        for i, line in it:
            x = 0
            y = 12
            if '/MAT/LAW02/1' in line:
                while x != y:
                    catchInfo = line.strip().split()
                    toString = ''.join(catchInfo)
                    textFileClean.write(toString)
                    place_where_skip_happened = i
                    next(islice(it, 1, 1), None)
                    x += 1
    textFile.close()
textFileClean.close()

我想从1乘1到12。

我受到这个主题的启发:跳过枚举列表对象(python)中的迭代

但这对我不起作用。

这是运行此代码后的textB文件:

/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1/MAT/LAW02/1

分隔符目前不是问题(我知道该怎么做)。

最后,我想要像textA的代码片段一样的textB。

有人可以帮助我吗?

亭子

也许保留原始循环,但为12行添加一个计数器,并在if该行具有匹配项或计数器非零的情况下允许该块执行:

with open(outputRadFile, "w") as textFileClean:
    with open(inputRadFile, "r") as textFile:
        counter = 0
        for i, line in enumerate(textFile):
            if '/MAT/LAW02/1' in line:
                counter = 13  # the line itself plus the 12 that follow 
            if counter > 0:
                counter -= 1 
                catchInfo = line.strip().split()
                toString = ''.join(catchInfo)
                textFileClean.write(toString)

当几行(少于12行)中出现两次匹配时,这也将更好地工作。在第二个匹配项之后,这会将输出扩展到12行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在其他哈希循环中抓取其他哈希

来自分类Dev

在for循环中继续标签

来自分类Dev

PHP - 如何在 while 循环中赋值并在其他页面上访问它们

来自分类Dev

如何使渐变在其他div中继续

来自分类Dev

尽管有错误,如何在循环中继续测试

来自分类Dev

如何使用 OpenMP 在其他 for 循环中并行化 for 循环

来自分类Dev

在DO循环中继续搜索

来自分类Dev

Python在While循环中继续缩进

来自分类Dev

如何在python中的循环条件错误中继续?

来自分类Dev

如何从循环中删除其他条件?

来自分类Dev

如何相对于其他for循环中断for循环

来自分类Dev

在其他for循环内的for循环

来自分类Dev

函数管道如何跳过进程块?类似于在 foreach 循环中继续

来自分类Dev

干净的方式进行变量检查+在while循环中继续

来自分类Dev

如何在Python代码继续运行的同时连续闪烁LED(或其他while循环)

来自分类Dev

如何在while循环中中断并继续try-catch?

来自分类Dev

ansible jinja2-如何在其他“ for语句”中使用“循环范围”输出

来自分类Dev

在其他情况下如何忽略循环

来自分类Dev

while循环在其他while循环内,无限循环

来自分类Dev

Python 3“其他”在此循环中如何工作

来自分类Dev

如何从其他类的循环中返回else值

来自分类Dev

在OpenOffice Basic中继续循环

来自分类Dev

如何在Python中继续执行其余脚本的同时运行无限循环

来自分类Dev

如何在Rebol中继续处理事件的同时启动永久循环

来自分类Dev

如何忽略循环中的异常并继续执行

来自分类Dev

如何在退出循环后激活循环中的函数以继续

来自分类Dev

DolphinDB JIT不支持break并在while循环和for循环中继续吗?

来自分类Dev

Python:在其他内部循环

来自分类Dev

在其他列中使用条件,并在/ loop / lapply / mutate循环中使用循环列的数字索引

Related 相关文章

  1. 1

    如何在其他哈希循环中抓取其他哈希

  2. 2

    在for循环中继续标签

  3. 3

    PHP - 如何在 while 循环中赋值并在其他页面上访问它们

  4. 4

    如何使渐变在其他div中继续

  5. 5

    尽管有错误,如何在循环中继续测试

  6. 6

    如何使用 OpenMP 在其他 for 循环中并行化 for 循环

  7. 7

    在DO循环中继续搜索

  8. 8

    Python在While循环中继续缩进

  9. 9

    如何在python中的循环条件错误中继续?

  10. 10

    如何从循环中删除其他条件?

  11. 11

    如何相对于其他for循环中断for循环

  12. 12

    在其他for循环内的for循环

  13. 13

    函数管道如何跳过进程块?类似于在 foreach 循环中继续

  14. 14

    干净的方式进行变量检查+在while循环中继续

  15. 15

    如何在Python代码继续运行的同时连续闪烁LED(或其他while循环)

  16. 16

    如何在while循环中中断并继续try-catch?

  17. 17

    ansible jinja2-如何在其他“ for语句”中使用“循环范围”输出

  18. 18

    在其他情况下如何忽略循环

  19. 19

    while循环在其他while循环内,无限循环

  20. 20

    Python 3“其他”在此循环中如何工作

  21. 21

    如何从其他类的循环中返回else值

  22. 22

    在OpenOffice Basic中继续循环

  23. 23

    如何在Python中继续执行其余脚本的同时运行无限循环

  24. 24

    如何在Rebol中继续处理事件的同时启动永久循环

  25. 25

    如何忽略循环中的异常并继续执行

  26. 26

    如何在退出循环后激活循环中的函数以继续

  27. 27

    DolphinDB JIT不支持break并在while循环和for循环中继续吗?

  28. 28

    Python:在其他内部循环

  29. 29

    在其他列中使用条件,并在/ loop / lapply / mutate循环中使用循环列的数字索引

热门标签

归档