wxpy
wxpy copied to clipboard
send_image 中文文件名问题
send_image 用中文文件名会出现错误,用英文不会出现,具体如下:
In [26]: m.reply_image("你好 .jpg")
---------------------------------------------------------------------------
ResponseError Traceback (most recent call last)
<ipython-input-26-7ba383a0ffa0> in <module>()
----> 1 m.reply_image("你好 .jpg")
/home/cbt/Documents/hello/venv/lib/python3.6/site-packages/wxpy/api/chats/chat.py in wrapped(self, *args, **kwargs)
47 return itchat_partial_func(**itchat_call_or_ret)
48
---> 49 ret = do_send()
50 else:
51 # send_raw_msg 会直接返回结果
/home/cbt/Documents/hello/venv/lib/python3.6/site-packages/wxpy/utils/misc.py in wrapped(*args, **kwargs)
48 return
49
---> 50 smart_map(check_response_body, ret)
51
52 if to_class:
/home/cbt/Documents/hello/venv/lib/python3.6/site-packages/wxpy/utils/misc.py in smart_map(func, i, *args, **kwargs)
183 return list(map(lambda x: func(x, *args, **kwargs), i))
184 else:
--> 185 return func(i, *args, **kwargs)
186
187
/home/cbt/Documents/hello/venv/lib/python3.6/site-packages/wxpy/utils/misc.py in check_response_body(response_body)
29 if isinstance(err_msg, str):
30 err_msg = err_msg.encode('raw_unicode_escape').decode()
---> 31 raise ResponseError(err_code=err_code, err_msg=err_msg)
32
33
ResponseError: err_code: 1; err_msg:
In [27]: m.reply_image("hello .jpg")
Out[27]: ↪ CBT: (Picture)
u''加一下。
看下路径对不对,而且路径格式是双斜杠\\
转发送文件名的话,包含中文真的很容易出错,不单是图片
关于图片的位置路径: 我一开始是“文件位置错误”——最好放在和xx.py同一个文件下,这样可以直接写图片名称就可以了。(路径里有中文是可以的,但文件名最好不要带中文呀。。不然。。) 关于图片大小: 然后我试了张长图,以为尺寸过大不行,其实因为有带有中文!!另外图片过大的确不行,几百KB还可以发送成功(我试了200KB,300KB多的都可以),再大的(如1MB多)就又不行了,还是err_code:1