文件操作
常见的文件类型
- txt
- csv
- json
- html
- mp4
文件操作流程
- 打开—>open()
- 读/写—>read()/write()
- 关闭—>close()
序号 | 用途 | 方法 | 功能 |
---|---|---|---|
1 | 打开/关闭文件 | f=open(file) | 打开文件 |
2 | close() | 关闭文件 | |
3 | 读写文件内容 | f.read([size]) | 从文件中读取指定的字节数;若未指定,读取所有 |
4 | f.readline([size]) | 读取整行,包括"\n" | |
5 | f.readlines([size]) | 读取所有行,并返回列表 | |
6 | f.write(str) | 将字符串写入文件,并返回字符串长度 | |
7 | f.writelines(seq) | 向文件写入一个序列字符串列表,如果需要换行,需要自己加入换行符 | |
8 | f.flush() | 刷新文件缓冲,直接把内部缓冲的数据写入文件 | |
9 | 文件的定位 | f.seek(offset) | 设置文件的当前位置,即指针位置 |
10 | f.tell() | 返回文件的当前位置,即指针位置 |
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
文件的打开与关闭
内置函数:open(),创建一个file对象,之后才可以用它调用相关的方法。
格式:
file_object=open(file,[,mode],[,encoding="utf-8"],[,buffering])
解释:
- file_object—>open()返回的文件对象
- file—>要打开的文件
- mode—>指定模式:只读,写入,追加等等。表,一般默认为只读。
- encoding—>指定文件编码,usually,“utf-8/GBK”
- bufferint—>若设置为0,不会有寄存;设为1,访问文件时会寄存行;设为大于1的数,表明是寄存区的缓冲大小;设为负数,则寄存区的缓存区大小为系统默认。
文件对象的属性
属性 | 描述 |
---|---|
f.name | 返回文件的名称 |
f.mode | 返回打开文件的访问模式 |
f.closed | 如果文件已关闭,返回true;否则,false |
关闭
f.close()
节省计算机资源和提供性能,使用完文件之后,关闭它。
读
-
f.read([size])
- 从文件指针处读取。
- 传递size,指定读取的字节数。
-
readline()
-
readlines()
写
- write()
- writelines()
定位读取
-
f.tell()
- 获取文件的当前位置。
-
f.seek()
- seek(offet[,from])
- offset,要移动的字节数
- from,指定偏移的参考位置
- 0—>从开头偏移
- 1—>当前位置偏移
- 2—>从末尾偏移
- seek(offet[,from])
os模块
Operator System