在Python中解析文件时跳过一行?有简单/基本的方法吗?

问题描述 投票:1回答:3

我试图逐行解析文件并将其编辑/将其存储在数组中,然后将其转储到具有编辑内容的文件中。

但是在解析文件时,如果遇到特定的行,我想跳过下一行(或多行),然后继续进行解析。

下面是我尝试的示例代码。当我遇到'// 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”行一样,我知道下一行是“ // ---”,所以我只想将该行添加到数组中,但是我不想搜索该行然后添加。就像在搜索的行之后盲目添加一行(或可能是多行),然后继续到下一行。

enter image description here

这项工作会吗?

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”旁边的行已经被添加,当我继续时,它会跳过下一行吗?到达特定代码后,是否可以选择继续/跳过多行?

python python-2.7 text-parsing
3个回答
0
投票

您可以使用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的更多信息>


0
投票

如果我没弄错,您可以使用以下方法跳过将内容附加到以//-开头的列表,然后加载其余内容。


0
投票

好的,我有点不同的方法。

© www.soinside.com 2019 - 2024. All rights reserved.