关于Python脚本通过crontab调度的时候报错UnicodeEncodeError: ‘ascii’ codec can’t encode characters in positi的解决方案
Posted gxgd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Python脚本通过crontab调度的时候报错UnicodeEncodeError: ‘ascii’ codec can’t encode characters in positi的解决方案相关的知识,希望对你有一定的参考价值。
昨天通过Python写了了一段脚本,然后通过crontab将脚本调起来执行,手动执行的时候没有问题的,但是通过crontab进行调度就执行报错。
报错的原因如下:
Traceback (most recent call last): File "/opt/data-integration/workspace/rs_etl/pyscript/get_mobine_supplier.py", line 69, in <module> print("\\u6570\\u636e\\u5199\\u5165csv\\u5f00\\u59cb") UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-3: ordinal not in range(128)
看到这个报错第一个想到的应该就是编码的问题,有人说在Python脚本的前面加上 # coding:utf-8 但是那,加上之后还是报这个错。
最后通过网上的篇博客找到了答案。
https://jeffliz.wordpress.com/2019/04/16/python3-%E8%A7%A3%E5%86%B3unicodeencodeerror-ascii-codec-cant-encode-characters-%E9%97%AE%E9%A2%98/
按照上面的操作,Python脚本终于调通了,数据完整的插入到数据库当中。
解决办法,在执行Python脚本的时候设置编码即可,
至此问题得到解决。
以上是关于关于Python脚本通过crontab调度的时候报错UnicodeEncodeError: ‘ascii’ codec can’t encode characters in positi的解决方案的主要内容,如果未能解决你的问题,请参考以下文章
关于linux系统下CRONTAB运行python脚本不生效
Schedule—比 Celery 更轻量级的周期任务调度工具