1.文件系统
文件系统属于I/O类,用于数据流写入和读取。可通过open()创建一个文本变量并赋给变量。
open格式为open(文件名, 读取模式, 是否缓冲, 编码方式,报错级别, 是否区分换行),前1个是必选项,后5为可选项。
open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
各读取模式如下:
创建了一个文本对象后,我们可以调用相应方法执行操作,部分如下:
file.close() 关闭文本流
file.closed 判断文本流是否关闭
file.flush() 刷新写入流缓冲区
file.readable() 判断文件是否可读
file.readline(size=-1) 读取一行,传入参数可控制该行读取量
file.readlines(hint=-1) 读取一行或多行,由传入参数控制,默认为1,可用line in file:代替
file.seek(offset, whence=SEEK_SET) 改变指针位置,offset传入偏移量,whence给出初始位置,0.1.2分别代表起始、当前、终止
seekable() 如果流支持随机获取,返回真
file.tell()返回指针位置
file.writeline(str) 向文件中写入字符串
file.writelines(lines) 向文件中写入字符串列表,不会自动加换行符
2.文件系统:
os模块提供了一种使用与操作系统相关的功能的便捷式途径。借助这个模块,可以使得各操作系统下,文件系统相关代码共用。os提供的部分方法如下:
os.chdir(path) 改变工作目录至path
os.getcwd() 获取当前工作目录
fspath(path) 返回路径的文件系统表示
路径操作:
os.path.abspath(path) 返回路径规范名
os.path.basename(path) 去掉目录返回文件名
os.path.commonpath(paths) 返回序列路径中每个路径名的最长公共子路径。
os.path.dirname(path) 去掉文件名返回目录名,通过split()
更多方法参考:
https://docs.python.org/zh-cn/3/library/os.path.html#module-os.path
3.pickle模块:
模块 pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化。 “pickling” 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 “unpickling” 是相反的操作,会将(来自一个 binary file 或者 bytes-like object 的)字节流转化回一个对象层次结构。 pickling(和 unpickling)也被称为“序列化”, “编组” 1 或者 “平面化”。而为了避免混乱,此处采用术语 “封存 (pickling)” 和 “解封 (unpickling)”。
要序列化某个包含层次结构的对象,只需调用 dumps() 函数即可。同样,要反序列化数据流,可以调用 loads() 函数。但是,如果要对序列化和反序列化加以更多的控制,可以分别创建 Pickler 或 Unpickler 对象。
参考链接:https://blog.csdn.net/sinat_30071459/article/details/50886660