【Python】Java程序员学习Python(十一)— IO
一、前言
io的内容其实还是有很多的,现在我也只是了解初步用法,当然详细内容还是应该参照官方api的:
- 官方api:https://docs.python.org/3/library/os.html。
- 中文api:http://python.usyiyi.cn/translate/python_352/library/os.html。
二、文件基本操作
文件的基本操作可以使用os和shuitl模块,里面有基本的函数满足一般要求。
- os.makedirs():创建文件夹,中间不存在的也会创建
- os.path.abspath(path):返回路径的绝对路径,可用于相对转绝对
- os.path.getsize(path):查看文件的字节数
- os.path.isfile(path):判断是否存在并是一个文件
- os.path.isdir(path):判断是否是存在并是一个文件夹
- os.path.exists(path):判断是否存在
- os.rename(current_file_name, new_file_name):重命名文件
- os.remove(file_name):删除文件
- shuitl.copy(src, dst):拷贝文件
- shuitl.copytree(src, dst):拷贝文件夹
其他详见api。
三、内容基本操作
首先必须熟练应用全局函数open用来获取文件(夹)对象,函数定义:
File open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
虽然参数很多,但是可以看到,除了file的路径以外,其他的全部都有默认值。
mode:
-
- r:打开只读,指针在文件头
- w:打开写入,若文件以存在则覆盖
- a:打开写入,若文件存在则追加到末尾
- b:二进制模式,用于和其他模式组合,如rb、wb、ab等
- +:打开文件用于读写
buffering:
-
- 0:关闭缓冲,仅在二进制模式下允许
- 1:选择行缓冲,仅在文本模式下可用
encoding:默认编码和平台相关
newline:行分割,默认为换行符
获得File对象以后就可以调用方法进行操作了。
- file.read():从文件读取指定的字节数,如果未给定或为负则读取所有。
- file.readline([size]):读取整行
- file.next():读取下一行
- file.readlines():读取所有行成一个字符串列表,每个字符串为一行内容(包括换行符)
- file.write(str):写入内容,不会自动添加换行符
- file.close():关闭打开的文件
- file.tell():获得当前指针的位置
- file.seek(offset[, whence]):设置文件当前位置
- file.flush():刷新缓冲区
- file.truncate([size]):截取文件,截取的字节通过size指定,默认为当前文件位置。
掌握这些就可以了,当然还是要以多看文档为主。