You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ExifTool生成的文本文件无法在Gedit与Python中打开,编码错误问题排查求助

ExifTool生成的文本文件无法在Gedit与Python中打开,编码错误问题排查求助

我在Ubuntu 22.04上用gedit打开一个文本文件时遇到了编码错误,这个文件是通过ExifTool(版本12.57)批量提取10万张照片元数据后,用重定向生成的。执行的shell命令如下:

for photo in $(find "/media/data/photos" -type f \( -iname "*.jpg" -o -iname "*.png" \));
do
exiftool -a -G0 -s -c '%.7f' "${photo}" >> "/media/data/output/processing.txt"
done

之后我尝试用Python 3.10.6读取这个文件,也触发了类似的编码错误。Python代码如下:

with open('/media/data/output/processing.txt','r') as f:
data = f.readlines()

对应的报错信息为:

Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "/usr/lib/python3.10/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 3107: invalid continuation byte

后续排查操作

  • 我用file命令检查文件类型,结果显示:
$ file processing.txt
processing.txt: ASCII text
  • 接着我用grep查找文件中的管道符|,发现了不少包含乱码的行,部分示例如下:
28978:MakerNotes :    BabyAge                         : |.z.�.�.�.�.�.�.�.g.
153969:MakerNotes :    BabyAge                         : �...�.�.@.3.�.|.�.x.
239759:MakerNotes :    BabyAge                         :  .�.�.;.|.A.>.Q.=.�.
287018:MakerNotes :    BabyAge                         : �.�.�.|.�.....K.�.5.
466938:MakerNotes :    InternalSerialNumber            : |.�.x.�\.v.B...
473829:MakerNotes :    BabyAge                         : |.�.�.�...�.X.'.�.X.
475416:MakerNotes :    BabyAge                         : |.�.�.�...�.X.'.�.X.
475777:MakerNotes :    BabyAge                         : 4.�.|.1...P.:...�
477305:MakerNotes :    InternalSerialNumber            : �.|.r.|.h.�.�.O.
483418:MakerNotes :    BabyAge                         : 6.�.J.c.`.�.H.�.|.�.
557390:MakerNotes :    InternalSerialNumber            : �.�.�..|.o&.3.
604471:MakerNotes :    BabyAge                         : �.�.|.Q..A.=.9.�.�.
636619:MakerNotes :    BabyAge                         : �.�.N.�.�.�.G.�.|...
799895:MakerNotes :    InternalSerialNumber            : .|�..�.�`.�.
944200:MakerNotes :    BabyAge                         : �.�.�.|.�.r.�.�...�

现在想请教各位,我该如何定位问题根源,有没有可行的调试和解决方法?

备注:内容来源于stack exchange,提问作者s.k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 09:42:49