python使用codecs模块进行文件操作-读写中英文字符
由于python中默认的编码是ascii,如果直接使用open方法得到文件对象然后进行文件的读写,都将无法使用包含中文字符(以及其他非ascii码字符),因此建议使用utf-8编码。
使用方法
读
下面的代码读取了文件,将每一行的内容组成了一个列表。
import codecs file = codecs.open('test.txt','r','utf-8') lines = [line.strip() for line in file] file.close()
写
下面的代码写入了一行英文和一行中文到文件中。
import codecs file = codecs.open('test.txt','w','utf-8') file.write('Hello World!\n') file.write('哈哈哈\n') file.close()
文件读写模式
最为常见的三种模式,见下表,其中模式就是指获取文件对象时传入的参数,最常用的是前三个。
|模式|描述|
|:-:|:-:|
|r|仅读,待打开的文件必须存在|
|w|仅写,若文件已存在,内容将先被清空|
|a|仅写,若文件已存在,内容不会清空|
|r+|读写,待打开的文件必须存在|
|w+|读写,若文件已存在,内容将先被清空|
|a+|读写,若文件已存在,内容不会清空|
|rb|仅读,二进制,待打开的文件必须存在|
|wb|仅写,二进制,若文件已存在,内容将先被清空|
|ab|仅写,二进制,若文件已存在,内容不会清空|
|r+b|读写,二进制,待打开的文件必须存在|
|w+b|读写,二进制,若文件已存在,内容将先被清空|
|a+b|读写,二进制,若文件已存在,内容不会清空|
python使用codecs模块进行文件操作-读写中英文字符相关推荐
- python的codecs模块_Python:使用codecs模块进行文件操作及消除文件中的BOM
前言 此前遇到过UTF8格式的文件有无BOM的导致的问题,最近在做自动化测试,读写配置文件时又遇到类似的问题,和此前一样,又是折腾了挺久之后,通过工具比较才知道原因. image 两次在一个问题上面栽 ...
- python文件操作和模块_Python(五)--模块与文件操作
Python(五)–模块与文件操作 模块和包 模块 模块是包含Python定义和语句的文件,把一组相关函数或代码组织到一个文件中,一个文件即一个模块.模块的文件名 = 模块名+后缀.py 模块之间代码 ...
- Python模块和文件操作
模块和文件操作 时间模块 1.time() - 获取当前时间的时间戳 2.localtime() - 获取本地的当前时间,返回的是结构体时间.localtime(时间戳) - 将时间戳转换成本地时间对 ...
- Python随笔:对 txt 文件进行读写,清除,删除操作
Python随笔:对 txt 文件进行读写,清除内容,删除操作 文章目录 Python随笔:对 txt 文件进行读写,清除内容,删除操作 1.文件读写 1.1 读写文件前打开文件的两个方法 1.2 写 ...
- Python基础:集合与文件操作
集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系 ...
- Python升级之路( Lv9 ) 文件操作
Python系列文章目录 第一章 Python 入门 第二章 Python基本概念 第三章 序列 第四章 控制语句 第五章 函数 第六章 面向对象基础 第七章 面向对象深入 第八章 异常机制 第九章 ...
- Python之glob模块进行文件匹配及遍历
Python之glob模块进行文件匹配及遍历 glob是python自带的一个操作文件的相关模块,用来查找符合特定规则的文件路径,是python处理文件路径相关问题中常用的包. glob 文件名模式匹 ...
- ansible笔记(5):常用模块之文件操作(二)
ansible笔记(5):常用模块之文件操作(二)文件操作类模块find模块 find模块可以帮助我们在远程主机中查找符合条件的文件,就像find命令一样.此处我们介绍一些find模块的常用参数,你可 ...
- python开发_xml.etree.ElementTree_XML文件操作
python开发_xml.etree.ElementTree_XML文件操作_该模块在操作XML数据是存在安全隐患_慎用 xml.etree.ElementTree模块实现了一个简单而有效的用户解析和 ...
最新文章
- 自然语言处理(NLP)之用深度学习实现命名实体识别(NER)
- 数据库经典书籍--数据库系统概念
- Oracle 工具权限二
- 从源代码的角度分析--在BaseAdapter调用notifyDataSetChanged()之后发生了什么
- Linux下,安装配置Weblogic
- 组件对象模型:COM
- 您的浏览器没有获得Java Virtual Machine(JVM)支持。可能由于没有安装JVM或者已安装但是没有启用。请安装JVM1.5或者以上版本,如果已安装则启用它。...
- 邮件服务器在企业网中的应用
- GraphQL在Wildfly群上
- hive避免MR的情况
- 2_less中的数值运算
- BZOJ 1801: [Ahoi2009]chess 中国象棋( dp )
- 【渝粤教育】国家开放大学2019年春季 1067知识产权法 参考试题
- 洛谷 P1040 加分二叉树
- openwrt路由器完美破解成信宿舍校园网
- 【CVPR华为】【CVPR诺亚方舟】【CVPR2019】华为诺亚方舟实验室2019年CVPR27篇:全面展现诺亚实验室在计算机视觉蓝图
- PID系统稳定性和零极点的关系
- OA实施分析:OA系统选型警惕哪些陷阱
- 概率统计15——泊松分布
- 四大主流新闻App竞品分析
热门文章
- 11_HTML5_Local_Storage本地存储
- 关于@PathVariable与@RequestParam
- dxf文件预览打开编辑相关控件推荐
- 网络雇佣军 Void Balaur,有组织有纪律,且从不休长假
- CloudFlare CDNJS 漏洞差点造成大规模的供应链攻击
- 神秘黑客攻陷密码管理器 Passwordstate 部署恶意软件,发动软件供应链攻击
- 微软紧急更新 Windows 8.1 和 Server 2012 R2,修复两个严重漏洞
- 调查显示存储虚拟化技术尚需3到5年才能成熟
- linux Apache启动提示 httpd: apr_sockaddr_info_get() failed f
- Python计算绘图——曲线拟合问题(转)