【发布时间】:2019-08-22 21:19:31
【问题描述】:
我是 python 新手,我已经整天晚上都在搜索一些代码来读取行并将其打印到控制台 我的目标是过滤单词并删除一些行
我发现只有一段代码可以完成这项工作,但其中有一个错误
我要学习的所有示例都只是打印 DO NOT WORK al ALL
我得到的一些错误
IndentationError: unexpected indent
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 1929: character maps to <undefined>
SyntaxError: Missing parentheses in call to 'print'.Did you mean print(line)?
SyntaxError:(unicode 错误)'unicodeescape' 编解码器无法解码位置 2-3 中的字节:截断 \UXXXXXXXX 转义
这些只是一些错误 我假设我错过了 python 中的一些包???
有效的代码过滤不正确
with open('C:\\Users\\XXX\\Desktop\\NF\\NL.txt', 'rb') as file_in:
with open("C:\\Users\\XXX\\Desktop\\NF\\new.txt", "wb") as file_out:
file_out.writelines(filter(lambda line: b'ADM1' and b'ADM2' in line, file_in))
过滤器是 ADM1 和 ADM2 然而,文本文件也有包含 ADM2H 的行,输出文件应该只有 ADM1 和 ADM2,但我也得到了所有包含 ADM2 的变体
我如何过滤确切的单词,有人可以提供我打印文本文件中所有行的示例代码吗 另外我想有一段代码可以在多个文件上执行上面的代码 我在网上找不到任何可以完成这项工作的网站
非常感谢您帮助新秀
【问题讨论】:
-
刚发现我使用的文件是 utf-8 添加了 encoding='utf-8' 而不是我可以使用网上找到的大多数示例仍然无法正确过滤和写入归档
标签: python filter printing line