一. 文件的读取
首先的先打开文件
利用open()函数打开文件分为2种:
- 就是一个纯文本文件(相对于英文来说,汉字就不属于纯文本)
- 二进制文件(如图片,音频.这种)
所以在默认是GBK编码, 当打开的文件不是GBK的时候就会出现异常,
较大文件的读取
若是使用read()函数直接读取的话,会全部读取.造成内存崩溃所以我们可以加上一个size做为一个参数来获取文件的字符个数,默认是(-1)
read(size)就是获取指定的个数, 每一次读取会从上一次读取的位置开始读取
readline()读取一行内容
readlines()也是一行一行的读取,但是他会读取全部,封装到一个列表返回
二. 文件写入 write()方法
写入必须是字符串
r | 以只读模式打开文件.文件的指针会放在文件的开头 |
---|---|
rb | 以二进制打开文件,并且采用只读模式. 一般用于非文本文件 |
r+ | 打开文件并读取,也可以写入新的内容覆盖原有的内容(从文件的开头开始覆盖) |
w | 以只写的模式打开文件 |
rb+ | 以二进制打开文件并开启读写模式,一般用于非文本文件 |
wb | 以二进制的模式开启读写模式 |
w+ | 会对原有的文件清空,然后进行写入 |
wb+ | 以二进制格式打开文件,采用读写模式 |
a | 以追加模式打开一个文件,若文件已经存在,写入的新内容会在旧的文件后面,不会覆盖前面的文件, 若文件不存在,会创建一个新的文件 |
ab | 以二进制格式打开并使用a的方法 |
x | 用来创建文件,有就会报错 |
三. 二进制文件
读文本文档文件时是以字符为单位, 读二进制文件时是以字节为单位,
使用seek()时, 文件是按一个汉字占两个字符, 一个英文字母和数字占一个字计算的,这与read()方法不同
这是读取二进制文件的方法
写二进制文件
四. 读取文件的位置
tell()方法检查当前读取的为位置
seek()可以用来修改读取的位置
seek 有两个参数,默认为0 ,
若为0时,从文件开头开始读,
为1时,从当前位置开始.
为2时 从文件最后开始读,当从最后开始读时,索引用的是负数的
注: 当用seek()方法时,当编码是UTF-8 若是汉字,里面的参数必须符合, 汉字占3个字节,其他是两个字节
五. 文件的其他操作
getcwd() | 返回当前目录 |
---|---|
listdir(path) | 返回指定路径下的文件和目录信息 |
mkdir(’’) | 创建目录 |
rmdir(’’) | 删除目录 |
chdir(’’) | 切换盘符 |
abspsth(path) | 用于获取当前文件或目录的绝对路径 |
exists(path) | 用于判断目录或文件是否存在, 返回bool值 |
join(path, name) | 将目录和文件名拼接起来 |
splitext() | 分离文件名和扩展名 |
basename(path) | 从一个目录中提取文件名 |
isdir | 用于判断是否是路径 |