小编mab*_*n69的帖子

Python3:UnicodeEncodeError仅在从crontab运行时

第一篇帖子请好心的,我已经搜索了很多,但我找到的大部分内容都与Python 2有关.

我有一个Python3脚本,可以从文件列表中构建一个zip文件; 仅当脚本从crontab运行时,它才会失败并显示UnicodeEncodeError,但是当它从交互式控制台运行时它可以正常运行.我想环境中一定有东西,但我似乎无法弄清楚是什么.

这是代码摘录:

def zipFileList(self, rootfolder, filelist, zip_file, logger):
    count = 0

    logger.info("Generazione file zip {0}: da {1} files".format(zip_file, len(filelist)))
    zip = zipfile.ZipFile(zip_file, "w", compression=zipfile.ZIP_DEFLATED)

    for curfile in filelist:
        zip.write(os.path.join(rootfolder, curfile), curfile, zipfile.ZIP_DEFLATED)
        count = count + 1

    zip.close()
    logger.info("Scrittura terminata: {0} files".format(count))
Run Code Online (Sandbox Code Playgroud)

这是此代码片段的日志输出:

2012-07-31 09:10:03,033: root - ERROR - Traceback (most recent call last):
  File "/usr/local/lib/python3.2/zipfile.py", line 365, in _encodeFilenameFlags
  return self.filename.encode('ascii'), self.flag_bits
UnicodeEncodeError: 'ascii' codec can't encode characters in position 56-57: ordinal not in range(128)

During …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-unicode

5
推荐指数
2
解决办法
3425
查看次数

标签 统计

python ×1

python-3.x ×1

python-unicode ×1