关于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 cant 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 更轻量级的周期任务调度工具

Laravel-任务调度

定时任务调度在 Laravel 中的实现

关于linux crontab定时操作oracle不执行的问题解决方案

crontab linux定时运行程序