Python-文件操作
文件:file
我穿上大头皮鞋,走在凌冽荒野
文件:
- 文件时用于存储数据的基本单位
- 文件通常用来长期存储
- 文件中数据是以字节为单位顺序存储
文件的操作
- 打开文件
- 读写文件
- 关闭文件
注:文件打开数量有一定限制
文件打开函数
- open(filename,mode=‘rt’):用于打开一个文件,返回返回操作此文件的流对象,如果打开失败,触发OSError
文件对象的关闭方法
- F.close() 关闭文件 释放系统资源
- xxd filename: 查看字节十六进制内容
- repr() 还原字符串的python 表达式
- read() 依次逐个读取
- readline() 读取字节串返回
- readlines() 以列表形式显示一个或多个字符文件
示例:
try:
f = open('file.txt')
print('文件以相对路径打开成功')
except OSError:
print('文件操作失败')
print(f.readline())
print(f.readline())
f.close()
print('文件关闭成功')
文本文件模块
-
模式字符 ‘r’
1.对文本文件读写操作需要使用字符串进行读写操作
2.读写过程中会自动编码解码
3.统一使用\n分隔 -
文本文件的写操作:
方法:
F.write(x)
F.wrutelines(列表)
模式字符串:
‘r’,‘w’,‘x’,‘a’,‘b’,‘t’
二进制文件操作二进制字符:”b“
- 默认文件中存储的都是以字节(byte)为单位的数据,通常有人为规则的格式,需要以字节为单位进行读写
- 对二进制文件的读写需要用字符串(bytes) 或字节
数组(bytearray)进行操作 - 对于二进制文件读写方法都 需要用字节为单位进行操作
F.read(n) F.readline() F.readlines() F.write(字节串) F.writelines(字节串组成的列表)
F.seek方法
作用:
- 设置文件的读写位置,返回新的读写位置
格式:
-
F.seek(偏移量, whence=相对位置)
偏移量- 大于0代表向文件末尾方向移动
- 小于0代表向文件头方向移动
相对位置:
- 0 代表从文件头开始偏移
- 1 代表从当前读写位置开始偏移
- 2 代表从文件尾开始偏移
标准输入输出文件:
模块名:
sys
- sys.stdin 标准输入文件(默认为键盘)
- sys.stdout 标准输出文件(默认为屏幕终端)
- sys.stderr 标准错误输出文件(默认为屏幕终端)
- 注: 标准文件不需要打开即可以使用,也不用手动关闭
十个汉字占多少个字节?
汉字编码(只有两种)
国标系列:
- GB18030(二字节或四字节编码, 27533个字)
- GBK(二字节编码,20013个字)
- GB2313(二字节编码,约7千多个字)
(Windows常用)
国际标准:- UNICODE(UNCODE16/UNICODE32) <-> UTF-8
(Linux/Mac OS X/ IOS/ Android 常用) - UTF-8中:
- 英文ASCII (0x0 - 0x7F) 一字节
- (0x80 - 0x3FF) 二字节
- (0x400 - 0xFFFF) 三字节(中文在此区)
- UNICODE(UNCODE16/UNICODE32) <-> UTF-8
python 编码字符串:
- ‘gb2312’
- ‘gbk’
- ‘gb18030’
- ‘utf-8’
- ‘ascii’
编码注释:
- 在源文件中,第一行或第二行写入的如下内容是编码注释
-- coding:gbk --
或
-- coding:utf-8 --