python输出中文相关

1. print 输出至终端

可以正常输出字符串,但如果是直接输出字符串列表就不行
print '这是中文'
#  这是中文

print ['这是中文']
# ['\xe8\xbf\x99\xe6\x98\xaf\xe4\xb8\xad\xe6\x96\x87']

2. 输出至文件

含中文的字符串类型是 unicode 的,直接使用 f.write(my_str) 会报错。
with open(out_path, 'w') as f:
    for line in line_list:
        f.write(line)
        f.write('\n')

Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-12: ordinal not in range(128)


亲测可用的方法一是使用 codecs ,二是将 unicode 编码
import codecs

output = codecs.open(out_path, 'w', 'utf-8')
for line in line_list:
    output.write(line)
    output.write('\n')
with open(out_path, 'w') as f:
    for line inline_list:
        f.write(line.encode('utf-8') + '\n')



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值