@[TOC](Python3 File 方法总结目录)
1. file.close() — 关闭一个已打开的文件
close()方法用于==关闭一个已打开的文件==。关闭后的文件不能再进行读写操作,否则会报错。该方法允许调用多次。使用close()方法关闭文件是一个好习惯。
语法:
1 | fileObject.close() #无参数,无返回值 |
实例:
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
2. file.flush() — 用来刷新缓冲区的
flush()方法是==用来刷新缓冲区的==,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
一般情况下,文件关闭后会自动刷新缓冲区,但是有时你需要在关闭之前刷新它,这时就可以使用flush()方法。
语法:
1 | fileObject.flush() #无参数,无返回值 |
实例:
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
3. file.fileno() — 返回一个整型的文件描述符(file descriptor FD 整型)
fileno()方法==返回一个整型的文件描述符(file descriptor FD 整型)==,可用于底层操作系统的I/O操作。
语法:
1 | fileObject.fileno() #无参数,无返回值 |
实例:
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
4. file.isatty() — 检测文件是否连接到一个终端设备,如果是返回 True,否则返回 False
isatty()方法==检测文件是否连接到一个终端设备,如果是返回 True,否则返回 False。==
语法:
1 | fileObject.isatty() #无参数,返回值为True或则False |
实例:
1 | #python |
输出结果:
1 | 文件名: hello.txt |
5. file.next() — python3的内置函数next()通过迭代器调用next()方法返回下一项
python3 中的file对象不支持next()方法。==python3的内置函数next()通过迭代器调用next()方法返回下一项==。 在循环中,next()方法会在每次循环中调用,该方法返回文件的下一行,如果到达结尾(EOF),则触发Stoplteration
语法:
1 | next(fileobject) |
实例:
1 | # hello.txt |
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
6. file.read() — 用于从文件读取指定的字节数
read()方法==用于从文件读取指定的字节数==,如果未给出或为负数则读取所有。读取包括”\n”字符。
语法:
1 | fileObjext.read(size) |
实例:
1 | # hello.txt |
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
7. file.readline() — 用于从文件读取整行
readline()方法==用于从文件读取整行==,包括”\n”字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括”\n”字符。如果未给定,则输出整行。
语法:
1 | fileObject.readline(size) |
实例:
1 | # hello.txt |
1 | #python |
输出结果:
1 | 文件名: hello.txt |
8. file.readlines() — 用于读取所有行(直到结束符EOF)并返回列表
readlines()方法==用于读取所有行(直到结束符EOF)并返回列表,==若给定size>0,返回总和大约为size字节的行,实际读取值可能比size较大,因为需要填充缓冲区。
如果碰到结束符EOF则返回空字符串。
语法:
1 | fileObject.readlines(size) |
实例:
1 | # hello.txt |
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
9. file.seek() — 用于移动文件读取指针 到 指定位置
seek()方法==用于移动文件读取指针 到 指定位置==。
语法:
1 | fileObject.seek(offset, whence) |
实例:
1 | # hello.txt |
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
10. file.tell() — 返回文件的当前位置
tell()方法==返回文件的当前位置==,即文件指针当前位置。
语法:
1 | fileObject.tell() |
实例:
1 | #hello.txt |
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
11. file.truncate() — 用于截断文件
truncate()方法==用于截断文件==,如果指定了可选参数size,则表示截断文件为size个字符。如果没有指定size,则重置到当前位置。(换行符’\n‘也会被计算)
语法:
1 | fileObject.truncate(size) |
实例:
1 | #hello.txt |
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
现在hello.txt文件内容:
1 | #hello.txt |
12. file.write() — 用于向文件中写入指定字符串
write()方法==用于向文件中写入指定字符串==。在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中看不到写入的内容的。
语法:
1 | fileObject.write(str) |
实例:
1 | #hello.txt |
1 | #python |
输出结果:
1 | 文件名为: hello.txt |
现在hello.txt,文件内容:
1 | 第一行內容 |
13. file.writelines() — 用于向文件中写入一序列的字符串
writelines() 方法==用于向文件中写入一序列的字符串==。这一序列字符串可以是由迭代对象产生的,如一个字符串列表。换行需要制定换行符\n.
语法:
1 | fileObject.writelines([str]) |
实例:
1 | #hello.txt |
1 | #python |
输入结果:
1 | 文件名为: hello.txt |