注册 登录
编程论坛 Python论坛

解码错误处理

zhengxinhai 发布于 2023-02-01 09:28, 812 次点击
我有一个d:\sc.doc文档,文档内容是我是中国共产党员。
用with open("d:\\sc.doc",'r',1) as f:
      data=f.read()
运行后出现下列错误,请问怎样处理。谢谢
Traceback (most recent call last):
  File "C:\Program Files\147.py", line 2, in <module>
    data=f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb1 in position 5: illegal multibyte sequence
8 回复
#2
zhengxinhai2023-02-01 09:51
有试了试,txt文件格式可以,请问.doc格式不用另存txt格式,怎样处理呢?
#3
阳光上的桥2023-02-01 10:20
doc文件是二进制格式的,不容易像txt一样处理,一般两个方法:一是利用专门的库读写文件中的内容,二是利用COM调用WINWORD.EXE打开文件进行读写。
#4
zhengxinhai2023-02-01 11:11
谢谢您。怎样利用COM调用WINWORD.EXE打开文件进行读写?请您指点一下。
#5
东海ECS2023-02-01 12:09
利用win32com先要安装pypiwin32

pip install pypiwin32
#6
东海ECS2023-02-01 12:11
程序代码:

from win32com.client import Dispatch
app = Dispatch('Word.Application')
# 新建word文档
doc = app.Documents.Add()
#显示Word
app.Visible = True
#输入文字
#
运行下句代码后,s获得新建文档的光标焦点,也就是图中的回车符前
s = app.Selection
# 用“Hello, World!“替换s代表的范围的文本
s.Text = 'Hello, world!'
#输出
s()
#7
zhengxinhai2023-02-01 14:29
谢谢您了。问题按照您的方法已解决。
#8
东海ECS2023-02-02 16:21
新年快乐
#9
zhengxinhai2023-02-03 08:55
谢谢您了。向您学习。
1