从mac cron作业运行但不从mac终端运行Python脚本错误

时间:2017-10-31 10:33:18

标签: python macos character-encoding cron

我有一个Python v3.6脚本,它从数据库中读取一些带有中文字符的数据。当我安排从Mac Cron Job运行时,此脚本会出错;但是从我的Mac终端运行时执行正常。

任何想法,如果我们需要在从Cron作业运行脚本时启用某些语言包或什么?

Crontab命令

#*/2 * * * * /usr/local/bin/python3 /Users/admin/Documents/Scripts/wht/gbi.py >> test.txt

1 个答案:

答案 0 :(得分:1)

让我们编码那些字符。例如:

请勿在源代码中直接使用

 SPECIAL_CHARS = u"aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬ"

让我们使用:

 SPECIAL_CHARS = u'aA\xe0\xc0\u1ea3\u1ea2\xe3\xc3\xe1\xc1\u1ea1\u1ea0\u0103\u0102\u1eb1\u1eb0\u1eb3\u1eb2\u1eb5\u1eb4\u1eaf\u1eae\u1eb7\u1eb6\xe2\xc2\u1ea7\u1ea6\u1ea9\u1ea8\u1eab\u1eaa\u1ea5\u1ea4\u1ead\u1eac'

您可以将字符串编码为 utf-8 并正常使用:

 encoded_str = SPECIAL_CHARS.encode('utf-8')

 print(type(encoded_str))
 print(encoded_str)