python - 如何删除文本文件中的非 ASCII 字符?
问题描述
我有这个 .log 文件,我将扩展名更改为 .txt 文件,但它仍然读取为日志文件
但是在我复制它并将其粘贴到一个新的编辑器并将其保存为 .txt 文件之后。这就是它显示的内容:
有人告诉我,我应该删除的是非 ASCII 字符。有什么方法可以删除它,或者有什么方法可以复制日志文件的内容,然后使用 python 将其放入文本文件中?
解决方案
在 Python 中,您可以指定输入编码。
with open('trendx.log', 'r', encoding='utf-16le') as reader, \
open('trendx.txt', 'w') as writer:
for line in reader:
if "ROW" in line:
writer.write(line)
我显然从你之前的问题中复制了一些东西。感谢最终确定实际问题。
特别注意我们如何避免将整个文件读入内存,而是一次处理一行。
推荐阅读
- matlab - 将 3D 阵列混合成更大的 3D 阵列
- web-services - 两个服务中的 JAX-RS 相同的 @Path 标识符
- java - Google Maps API 显示位置,但不居中
- java - 如何编程在java中找到数组中最大的2个数字和最小的2个数字
- cookies - 使用 TicketDataFormat 获取 .NET Core、WS Federation、Identity Core 问题
- javascript - 使用 JSON 数据填充表
- angular - 从服务器接收的 Spring Boot + Angular 渲染照片
- javascript - 如何从内容脚本中获取数组到 background.js 和其他 js 文件
- php - 在ubuntu中删除PHP7.2.7
- html - 使用文本 CSS 防止不规则间隙