python编码:'ascii' codec can't encode characters in position 66-73: ordinal not in range(128)

来源:互联网 发布:跳跃网络签到不能用 编辑:程序博客网 时间:2024/06/01 20:26

问题

运行python脚本,没有问题。使用bash中的>重定向到文件中时,文件的内容是

'ascii' codec can't encode characters in position 66-73: ordinal not in range(128)

原因

很明显,编码问题。

解决办法

修改前的代码是

print '%s: %s' % (num, r2.json()['userName'])

修改后

print u' '.join((num, r2.json()['userName'])).encode('utf-8').strip()

运行后,报了个新错。太棒了。

sequence item 0: expected string or Unicode, int found

这是由于’ ‘.join时,num是int类型。
代码修改为:

print u' '.join((str(num), r2.json()['userName'])).encode('utf-8').strip()
0 0
原创粉丝点击