''' 文件基本操作 : 打开文件 : open("directory or file_name", mode = "", encoding = "") mode : r : 读; a : 追加写,首次写,并不会清空文件以前的内容; w : 写,首次写时,会清空掉文件中的所有内容,写入新的内容;在同一个代码块中,在该模式下,多次执行写操作,除首次写操作外,其他写操作 均不会清空以前内容,而是在上次写入的内容后面继续写入新的内容; rb : 以字节的形式读取文件; ab : 以字节的形式追加写; wb : 以字节的形式写; //注 : 应用场景,非文本文件操作; + : 拓展模式; r+ : 读写模式; w+ : 写读模式; a+ : 追加写读模式; r+b : 字节形式下的读写模式; w+b : 字节形式下的写读模式; a+b : 字节形式下的追加写读模式; 文件路径 : 绝对路径 : 从根节点开始查找文件 相对路径 : 相对于当前文件所在路径开始查找文件; 读写函数 : file.read(num) //一次性读取文件的num个字符,默认动作,读取文件中的全部字符,容易导致内存溢出; file.readline() //读取文件的一行文本,同一个代码块中,再次执行时,则从上一次读取结束位置开始读取; file.readlines() //以行为单位读取文件,并返回一个列表; //注 : 以open打开文件赋值给变量file后,file为一个可迭代对象,每次读取文件的一行; file.close() //关闭文件,每次打开读取文件后,必备的配套出现的函数; file.write("str") //在文件写入新的文本; file.flush() //但在文本中写入新的内容,必须与之配套出现的函数; 光标 : 读文件执行读或写的操作是,均是以光标为参考,光标默认起始位置在文件开头位置; 查看光标当前所在为位置 : file.tell() 移动光标位置 : file.seek(偏移量, 位置) 偏移量 : 也即将光标从当前位置移动的字节数; 位置 : 快速移动光标位置 : 0 : 表文件开头; 1 : 表当前位置; 2 : 表文件末尾; 截断文件 : file.truncate(偏移量) //如果没有实参传入,则以光标为准截断文件,否则,以实参传入的值为准截断文件; 文件修改 : 修改流程 : 将原文件读入修改后,写入行的文件中,然后删除旧文件,重命名新文件; 打开文件的另一种方式 : with open() as var1,....,with open() as varn : //优点:自动原本需要用户手动完成的file.flush(),file.close()等操作; 删除和重命名文件 : import os os.remove(file_name) os.rename(old_file_name, new_file_name) 让程序暂时暂停 : import time time.sleep(time_scale) //单位为秒; '''