当前位置: 首页 > 面试题库 >

仅当作为cron作业运行时,UnicodeEncodeError [重复]

澹台俊材
2023-03-14
问题内容

这个问题已经在这里有了答案

在Python中管道输出stdout时设置正确的编码 (10个答案)

7年前关闭。

我的程序可以在命令行中正常运行,但是当我将其作为cron作业运行时,它会因错误而崩溃:

UnicodeEncodeError: 'ascii' codec can't encode character
u'\xa7' in position 13: ordinal not in range(128)

它在语句上崩溃

print title

为什么只有在应用程序作为cron作业运行时才会发生这种情况?如何解决?

我尝试了(没有帮助):

print unicode(title)

Python是2.7


问题答案:

旁白:这是一个普遍的问题。 因此,这可能是一个重复的问题。

2.7的默认编码为ascii
您需要为程序的输出提供编码。
常用的编码是“ utf8”。

因此,您应该改为:

print title.encode('utf8')

这是检查默认编码的一种方法:

import sys

sys.getdefaultencoding()
# -> 'ascii'


 类似资料:
  • 问题内容: 因此,我试图将cron作业设置为我创建的守护程序的一种看门狗。如果守护程序出错并失败,我希望cron作业定期重新启动它…我不确定这样做的可能性如何,但是我通读了一些cron教程,找不到任何可以做我的事情正在寻找… 我的守护程序是从Shell脚本开始的,所以我真的只是在寻找一种方法来运行cron作业,前提是该作业的先前运行仍未运行。 它确实为我试图使用锁定文件提供了解决方案,但我不确定是

  • 问题内容: 我想清除所有超过1周的SQL数据库,我想每晚进行一次。所以,我要安排一份工作。如何查询mySQL,而不必每次都手动输入密码? PHP中的查询如下: 有没有办法将其作为shell脚本运行?如果没有,有没有一种方法可以使cron运行php文件? 问题答案: 尝试创建如下所示的shell脚本: 然后可以将其添加到cron

  • 第一次使用cron作业,我在linux上相对较新,我似乎无法让它工作,如果我只是在命令行中手动运行它,它工作得很好,但不是作为cron作业。 我是这样设置的: 合同-e 插入模式 */3****root(cd/home/ec2 user/;java-jar-feedPuller-1.jar)(每3分钟测试一次) 保存并退出 它说它已经创建了一个新的cron作业选项卡 现在,当我做crontab-l

  • 问题内容: 在Linux中,是否可以在前台(或交互模式)运行cron作业?(我有一个定期运行的程序来接受用户输入并进行一些处理。因此,我想将其安排为可以在前台运行的Cron作业)。 问题答案: 在您的用户的上尝试一下: 它将在执行脚本的同时(每小时)打开一次,并在脚本退出后退出。当然,您应该修改零件以适合您的需求。

  • 问题内容: 我想以分离模式在docker容器中运行python cron作业。我的设置如下: 我的python脚本是test.py 我的cron文件是my-crontab 而我的Dockerfile是 这种方法潜在的问题是什么?还有其他方法,它们的优缺点是什么? 问题答案: 我在尝试使cron作业在docker容器中运行时遇到的几个问题是: Docker容器中的时间不是UTC的本地时间; dock

  • 这种方法的潜在问题是什么?是否还有其他方法,它们的利弊是什么?