gpt4 book ai didi

python - 奇怪的 Python Bug - 来自 cron 的 Stagger (ID3) 编码错误,但不是来自命令行的错误

转载 作者:行者123 更新时间:2023-12-01 05:48:28 28 4
gpt4 key购买 nike

我有一个程序可以扫描我的 mp3 并创建信息数据库。来源在github .

当我运行update.sh时从命令行脚本,它工作正常。当我将其作为 cron 作业运行时,我看到如下错误(确切的代码有所不同):

'utf-8' codec can't encode character '\udce2' in position 37: surrogates not allowed

查看日志,我发现轨道标题打印的数据略有不同。当从命令行调用时,我看到:

DEBUG:root:delegating artist Wendy Carlos, track "Jesu, Joy of Man’s Desiring", BWV 147 No. 10 to finder

但是当从 cron 运行时,我看到:

DEBUG:root:delegating artist Wendy Carlos, track "Jesu, Joy of Man\u2019s Desiring", BWV 147 No. 10 to finder

在这两种情况下,“track”后面的文本都是来自交错库 (tag.title) 的 ID3 标签。

现在stagger是一个纯 Python 库,对于相同的输入似乎会给出不同的结果。因此,虽然我可以说这是一个错误,并将其留给他们来修复,但我猜想命令行和 cron 之间的环境有些不同。但什么?在这两种情况下,python 都是从 virtualenv 调用的(请参阅上面链接的脚本)。

所以我的问题是 - 什么样的事情会导致这种情况?这不可能是魔法。必须有一个合理的解释...

[此外,在本例中,它是一个符合kid3的v2.4 ID3]

[此外,公平地说,尚不清楚是否是 Stagger 导致了错误。它可能返回相同的值,但 python 在这两种情况下以不同的方式处理它。]

最佳答案

这可能是由于 LANG 环境变量的值不同造成的。请参阅this文章了解详细信息。

关于python - 奇怪的 Python Bug - 来自 cron 的 Stagger (ID3) 编码错误,但不是来自命令行的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15280240/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com