我处理的文本文件(itemsList)具有以下格式:
id "item 1"
str "item 1 description"
id "item 2"
str "item 2 description"
试着用Python这样读这个文件:
^{pr2}$我有个错误:
TypeError: must be str, not NoneType
编辑Result.group(3)
到str(Result.group(3))
在小组中不给这个答案:
item 1None
item 2None
预期结果如下:
item 1, item 1 description
item 2, item 2 description
正则表达式使用}将包含您的值:
|
。因此,要么在前3组中匹配,要么在后3组中匹配。其他组值返回为None
。因此,如果id
匹配,Result.group(3)
将包含该值,否则{这将打印以下内容:
^{pr2}$另一种方法是避免使用正则表达式,而是将其视为CSV文件的特殊情况。在本例中,空格字符将作为分隔符,引号将自动作为单独的值处理。然后可以使用同一个库将行保存回新文件:
在您的代码中,您一直在附加字符串来创建行。在Python中,这不是首选的解决方案。最好将所有值附加到一个列表中,然后再处理该列表。在
csv_output.writerow()
接受行值列表,并在写入文件时自动添加必要的,
和换行符。在我建议您添加
print(row)
和print(block)
来理解它是如何工作的。在相关问题 更多 >
编程相关推荐