linux - python文件读取出现编码的错误,该怎么解决啊?
PHP中文网
PHP中文网 2017-04-17 15:32:03
[Linux讨论组]

有中文,有英文;出现如下错误:
这是我的基本操作:

这是输出结果

麻烦各位看看了啊


不加encode也会出现如下错误:

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
怪我咯

不需要 encode

伊谢尔伦

报错信息是编码相关的问题,我的测试程序,可以参考下:


# 测试的文本
[root@ZTEST-163 py]# cat t.txt 
hello
world
你好
世界

# 测试py脚本
[root@ZTEST-163 py]# cat open.py 
#coding: utf-8
file_path = '/home/test/py/t.txt'

with open(file_path, 'r') as fd:
    cnt = fd.read()
    print cnt
    
# 运行结果
[root@ZTEST-163 py]# python open.py 
hello
world
你好
世界

ps:unicode才能编码成指定的格式,所以在编码的时候,首先要确定被编码的字符是unicode的。比如,要将gb2312的编码成utf-8的,过程如下:
s = s.decode('gb2312')
s = s.encode('utf-8')

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号