月照梨花 发表于 2020-4-25 15:06:26

open()打开txt文件的时候 因为编码问题报错怎么办?

我是要先后打开不同编码的文本
默认打开ANSI,到utf-8的文本就报错
encoding = 'utf-8' 到ANSI还是报错 这情况咋办?for each in paths:
      f = open(each)

txxcat 发表于 2020-4-25 15:08:56

避免打开文本文件出现编码错误的一个小技巧

悠悠2264 发表于 2020-4-25 15:16:16

本帖最后由 悠悠2264 于 2020-4-25 15:24 编辑

可以使用try,except语句,来尝试使用utf-8和ansi打开文件,否则就打印并退出此次循环
for each in paths:
      try:
            f = open(each,encoding='utf-8')
            f.read()
            f.seek(0)
      except:
            try:
                f = open(each,encoding='ansi')
                f.read()
                f.seek(0)
            except:
                print("open " + each + " error")
                continue

txxcat 发表于 2020-4-25 15:20:28

悠悠2264 发表于 2020-4-25 15:16
可以使用try,except语句

打开文件不会报编码错误,只有读取文件内容才会报。

zltzlt 发表于 2020-4-25 18:05:57

https://fishc.com.cn/thread-158932-1-1.html
页: [1]
查看完整版本: open()打开txt文件的时候 因为编码问题报错怎么办?