我有以下代码:
with open("daily_rebar_test.txt", "w") as f2 :
for index, i in enumerate(f):
if regex.search(ignorecase, i):
f2.writelines(f[index:index+1])
f2.writelines("\n")
index +=1
if regex.search("Journal", i, index, index+1 ):
f2.writelines(f[index:index+1])
f2.writelines("\n")
index +=1
我需要它做的是搜索预编译的案例,如果找到它,它会将该行写入新的txt文件。 在成功写入行之后,我需要它使用新参数(" Journal")执行另一次搜索,对于遇到的每种情况,它都需要将其写入新文件;当" Journal"不再遇到我需要它返回并执行初始搜索。
目前代码找到了预编译的案例,但是因为它在尝试搜索" Journal"时没有正确递增索引。它还在旧线上。即使它可以执行对Journal的搜索,它也只会执行一次,然后返回到初始搜索。不知怎的,我需要在for循环中使用for循环,但我似乎无法弄清楚应该如何编写语法。
谢谢, 克里斯蒂安
答案 0 :(得分:0)
我设法使用以下代码使脚本工作: 'ignorecase = regex.compile(data_keyword_search,regex.IGNORECASE)
f = open(data_path_to_suite).read().splitlines()
with open(data_path_to_save, "w") as f2:
enum = enumerate(f)
found_custom_directory = False
for index, line in enum:
if regex.search(ignorecase, line):
f2.writelines(f[index:index+1])
f2.writelines("\n")
found_custom_directory = True
#
else:
if regex.search("Directory", line):
found_custom_directory = False
if found_custom_directory == True:
if regex.search("Journal", line):
f2.writelines(f[index:index+1])
f2.writelines("\n")'