- 编码:
- 人类语言与机器语言的一种映射关系
- asscii码 对英文进行编码
- unicode 编码 万国码 基本所有
- encode加码,decode解码
- 以什么方式加码,就以什么方式解码
- 如果文件加码和解码的方式不一致,就会出现乱码情况
- open打开文件
- open函数 encoding 没有指定默认为 None 表示使用系统的编码方式打开文本
- fp = open("文件"),
- 系统默认的编码打开
- encoding: 文件编码方式
- fp = open("文件",encoding="gbk")
- 指定编码打开
- fp = open("文件","rb")
- 以二进制方式打开
- print(fp.read())输出文件内容
- encoding: 文件编码方式
- 文件类型检测
- linux环境下 file 文件名
- windows中
- chardet(要先下载)
- chardet(要先下载)
- 文件打开方式mode
- r:只读
- w:只写,覆盖写
- a:追加
- r+:可读可写
- w+:可读可写,全覆盖
- a+:可读可写,追加
- 用a+的方式打开文件的话,光标默认在文件末尾
- with语句管理
- 自动关闭连接,回收资源
- with open("文件") as fp:
- print(fp.read())
- 文件的读取
- 光标
- 注意光标的位置
- 是从光标的位置开始读
- f.seek(cookie, whence=0)
- 移动光标位置 cookie=> 偏移量 whence=> 相对位置 (0-> 开始, 1->当前, 2->末尾)
- 注意:1、2只能用b模式打开才 可以
- fp.tell()告诉我光标位置
- 读取方法
- fp.read()返回当前光标位置到文末的字符数
- fp.readline()返回光标到末行
- fp.readlines()返回光标到文末的内容,每行为一个元素,返回一个列表
- 读取方法
- 读取大文件
- open是可迭代对象 fp = open("txt.txt"),可for循环
- for i in fp 占用内存少
- 每次迭代获取一行数据
- fp.read()
- 直接全部读取
- for i in fp 占用内存少
- open是可迭代对象 fp = open("txt.txt"),可for循环
- 文件的写入
- 写缓存,写的时候写到内存缓冲区,然后退出才存到磁盘
- 什么时候从缓存写到磁盘
- 程序退出的时候
- fp.close()
- fp.flush() 强制刷到磁盘
- 缓冲区满也写入
- buffer()
- buffering = 0实时写入,二进制
- buffering = 1输入\n时写入
- buffering = n 代表磁盘存多大,超出则写入 n =n*4096
- 什么时候从缓存写到磁盘
- 写缓存,写的时候写到内存缓冲区,然后退出才存到磁盘
- 光标
python文件操作
最新推荐文章于 2024-07-30 17:23:09 发布