我试图逐行解析文件并将其编辑/将其存储在数组中,然后将其转储到具有编辑内容的文件中。
但是在解析文件时,如果遇到特定的行,我想跳过下一行(或多行),然后继续进行解析。
下面是我尝试的示例代码。当我遇到'// CODES'行时,我试图寻找下一行,然后跳过它们。
相反,有什么更好的方法可以在解析文件并遇到特定字符串时跳过一行?
cc_array = []
cc_input_file = open("<File Directory, File Name>"%(path,name),"r+")
for lines in cc_input_file:
cc_array.append(lines)
if (f_1 == 0) and lines.startswith(" // CODES"):
f_1 = 1
if (f_1 == 1) and lines.startswith(" //-"):
f_1 = 0
请提供您的评论或其他更好的方法。
问题更新:
抱歉,当我说跳过下一行时,我也需要将下一行也添加到数组中,但是我不想像if语句一样添加以搜索该特定行。
假设我遇到了“ // CODES”,我将此行添加到数组中,并将下一行添加到数组中。
然后,我在“ //-”之后的“ //-”之后的行的旁边添加/添加一些内容。
如下所示。就像我马上打到“ // CODES”行一样,我知道下一行是“ // ---”,所以我只想将该行添加到数组中,但是我不想搜索该行然后添加。就像在搜索的行之后盲目添加一行(或可能是多行),然后继续到下一行。
这项工作会吗?
cc_array = []
cc_input_file = open("<File Directory, File Name>"%(path,name),"r+")
for lines in cc_input_file:
cc_array.append(lines)
if (lines.startswith(" // CODES"):
continue
由于“ // CODES”旁边的行已经被添加,当我继续时,它会跳过下一行吗?到达特定代码后,是否可以选择继续/跳过多行?
您可以使用continue
语句获取我在下面编辑的下一个值。
代码:
cc_array = []
cc_input_file = open("<File Directory, File Name>"%(path,name),"r+")
for lines in cc_input_file:
if lines.startswith(" // CODES"):
continue
else:
cc_array.append(lines)
在这里您可以在4.4下找到有关Python continue statement的更多信息>
如果我没弄错,您可以使用以下方法跳过将内容附加到以//-
开头的列表,然后加载其余内容。
好的,我有点不同的方法。