1.相对路径与绝对路径 --------- 绝对路径(absolute path): 一个完整的路径,从盘开始 D:\数据库--sqlite文件\工具.txt --------- 相对对路: 同级 . #现在不常用,找同级直接用文件名称 上一级 .. 目录 ---- 文件夹 文件 2.文件的打开与关闭 ----- open(打开文件名, 打开方式) --- 打开 ----- close --- 关闭 文件有打开必须要有关闭 f = open('demo.py', 'r', encoding='utf8') 在操作二进制的时候不需要encoding ------ read 读 ------ write 写 f.close()
| r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 | | w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 | | a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 | | rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 | | wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 | | ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 | | r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 | | w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 | | a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 | | rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 | | wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 | | ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
3.文件常规操作
| 读取指定数量内容(在里面传入数值可控制读取数据多少) | read() | | 读取一行的内容 | readline() | | 读取多行的内容 | readlines() | | 写入内容 | write() | | 写入多行内容 | writelines() | | 立即刷新缓冲区域(手动保存) | flush() | | 获得游标位置 | tell() | | 调整游标位置 | seek() |
4.文件光标(游标)的操作 读取文件数据是从光标后的位置开始读取,计算是以二进制数据进行计算,一个汉字是两个或者三个位置 ------ 获取游标位置 tell ------ 调整游标位置 seek ------------ seek(offset, whence) ---------------- offset : 偏移量 ---------------- whence : 默认值 0 ---- 0 :表示从文件开头计算偏移量 --------- 二进制操作情况下可以使用下面这两种模式 ---- 1 :表示从游标当前位置计算偏移量 ---- 2 :表示从文件末尾开始计算偏移量
5.内置模块 --- os --- 文件及目录操作
| 方法 | 作用 | | ---------------------- | ------------------------------------------------------------ | | os.getcwd() | 显示当前路径 | | os.listdir() | 展示当前目录内容 | | os.chdir() | 改变当前路径 | | os.mkdir() | 创建目录(文件夹) | | os.rmdir() | 删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError | | os.system() | 系统命令执行 | | os.remove() | 用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。 | | os.rename('old','new') | 重命名目录或文件 |
| 方法 | 作用 | | ------------------------------ | ------------------------------------------------------------ | | os.path.join(path1 path2, ...) | 把目录和文件名合成一个路径 | | os.path.basename(path) | 返回文件名 | | os.path.abspath(path) | 返回绝对路径 | | os.path.relpath(path[, start]) | path位置相对start的相对路径(相对路径) | | os.path.getsize(path) | 返回文件大小,如果文件不存在就返回错误 | | os.path.getctime(path) | 返回文件 path 创建时间 | | os.path.getmtime(path) | 返回最近文件修改时间 | | os.path.getatime(path) | 返回最近访问时间(浮点型秒数) | | os.path.exists(path) | 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。 | | os.path.isdir(path) | 判断路径是否为目录 | | os.path.isfile(path) | 判断路径是否为文件 | | os.path.isabs(path) | 判断是否为绝对路径 |
6. 上下文管理器 ---- with # ------ as : 取别名 with open() as f: #自动关闭文件,f是一个变量 ......... #可以同时打开多个文件 7。 ----- 导包问题 # import sys # print(sys.path) 可以导包的路径 # sys.path.append('') 添加导包路径 from从项目开始导 if __name__ == '__name__': 判断文件是否在当前文件执行 python文件自带一个属性:__name__ ----------- 在当前文件运行: '__main__' ----------- 在其他文件中调用时: 为其文件名