Python常见问题合集
2021/10/26 12:40:17
本文主要是介绍Python常见问题合集,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- python open函数中的newline参数问题
- 读写模式
- csv文档出现中文乱码
- Python读取中文字段出现乱码
python open函数中的newline参数问题
python版本:2.6
用open函数打开csv文件,提示TypeError: 'newline' is an invalid keyword argument for this function。(newline是为了解决写入时新增行与行之间的一个空白行问题。)
- 原因: python 2.6 open函数中无newline参数。python 3以上版本中会有newline这个参数。
- 解决办法:open(‘xxx.csv’,'w') 改写为 open(‘xxx.csv’,'wb')
读写模式
r :只读
r+ : 读写
w : 新建(会对原有文件进行覆盖)
a : 追加
b : 二进制文件
常用的模式有:
"a" 以"追加"模式打开, (从 EOF 开始, 必要时创建新文件)
"a+" 以"读写"模式打开
"ab" 以"二进制 追加"模式打开
"ab+" 以"二进制 读写"模式打开
"w" 以"写"的方式打开
"w+" 以"读写"模式打开
"wb" 以"二进制 写"模式打开
"wb+" 以"二进制 读写"模式打开
"r+" 以"读写"模式打开
"rb" 以"二进制 读"模式打开
"rb+" 以"二进制 读写"模式打开
csv文档出现中文乱码
- 解决办法:用记事本打开csv文件,另存编码为ANSI的csv文件,再用Excel打开csv文件,就会发现中文乱码问题已解决
换个角度,如果要Python读取csv文件时,正确识别到中文,就需要把csv文件编码格式utf-8格式。
Python读取中文字段出现乱码
用Python连接数据库后,打印中文字段,是乱码。
解决办法:
- 方法1:在脚本开头添加注释
#encoding=utf-8
#!usr/local/python/bin/python
#encoding=utf-8
- 方法2:导入json包,利用
json.dumps(dict, encoding='utf-8',ensure_ascii=False
import json
json.dumps(变量名,encoding='utf-8',ensure_ascii=False
例子:
dict={'name':'张三'} print dict print json.dumps(dict,encoding='utf-8',ensure_ascii=False) list=[{'name':'张三'}] print list print json.dumps(list,encoding='utf-8',ensure_ascii=False) row=SQL查询结果 print('{}').format(json.dumps(row,encoding='utf-8',ensure_ascii=False)) print'内容:%s'%(json.dumps(row,encoding='utf-8',ensure_ascii=False)) print(json.dumps(row,encoding='utf-8',ensure_ascii=False))
- 方法3:开头设置默认编码
import sys reload(sys) sys.setdefaultencoding('utf-8')
- 方法4:当row是元组时,下面3行都可以成功打印出中文
print(row[0].decode('utf-8')) print row[0] print('{}').format(row[0])
这篇关于Python常见问题合集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30Python中''') 是什么?-icode9专业技术文章分享
- 2024-11-26Python基础编程
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程