首页 文章

Python字符串编码 - 文件名

提问于
浏览
-5

str(file.key)='1011/101011 / file_name'

newFileName = str(file.key)

但是,当我运行代码时,我得到:

UnicodeEncodeError:'ascii'编解码器无法对位置x-y中的字符进行编码:序号不在范围内(128)

我需要对文件名进行一些解析,然后从s3服务器下载它 . 我如何得到'file_name'?

1 回答

  • 2

    你已经发布了很少的背景来给出一个体面的答案,但无论如何我都会尝试 .

    您尝试创建的文件名似乎包含非ascii字符,这些字符无法在python 2.x中自动转换为标准str .

    如果将 str 替换为 unicode ,则可以完全避免转换 . 如果代码的其他部分要求您使用str,您可以尝试对其进行编码: newFileName = unicode(file.key).encode('ascii', 'ignore') . 请注意,在我的示例中将省略不可转换的字符 .

相关问题