文件与文件系统
1.打开文件
- 形式:open(文件路径,模式,buffering=-1, encoding=None, errors=None, newline=None),文件打不开会报错(OSError)
- buffering设置缓冲,encoding设置编码,newline区别换行符
模式 | 描述 |
---|---|
‘r’ | 以只读方式打开文件,指针在文件开头 |
‘w’ | 写入模式。文件不存在,则创建新文件写入;文件已存在,则覆盖旧文件 |
‘x’ | 写入模式。文件不存在则创建,文件存在则返回异常FileExistsError |
‘a’ | 写入模式。文件不存在则创建,存在则在原文件最后追加内容 |
‘b’ | 二进制打开文件 |
‘t’ | 文本文件模式 |
‘+’ | 可读写模式 |
2.文件操作方法
方法 | 描述 |
---|---|
file1.close() | 关闭文件 |
file1.read(number) | 从指针处读取指定字符数,若未给定或为负数则读取全部 |
file1.readline() | 读取整行 |
file1.readlines() | 读取所有行并返回一个列表 |
file1.tell() | 返回文件指针当前位置 |
file1.seek(偏移数[, 偏移起始位置]) | 移动文件指针到指定位置 |
file1.write(str) | 写入字符串,返回字符串长度(文件关闭或刷新缓冲区后才能看见文件中新加入的str |
file1.writelines(序列) | 向文件写入一个序列(字符串、列表) |
3.OS 模块的文件/目录常用函数
函数 | 描述 |
---|---|
os.getcwd() | 返回当前工作目录 |
os.chdir(path) | 改变当前工作目录到指定的路径 |
os.listdir(path) | 返回path指定的文件夹包含的文件或文件夹的名字的列表 |
os.mkdir(path) | 创建单层目录,如果该目录已存在抛出异常 |
os.makedirs(path) | 用于递归创建多层目录,如果该目录已存在抛出异常 |
os.remove(path) | 删除指定路径的文件。如果指定的路径是一个目录,将抛出 OSError |
os.rmdir(path) | 删除单层目录。仅当这文件夹是空的才可以, 否则, 抛出 OSError |
os.system(command) | 运行系统的shell命令(将字符串转化成命令) |
os.curdir | 指代当前目录 |
os.sep | 输出操作系统特定的路径分隔符(win下为\,Linux下为/) |
os.linesep | 当前平台使用的行终止符(win下为\r\n,Linux下为\n) |
os.name | 指代当前使用的操作系统 |
os.path.basename(path) | 去掉目录路径,单独返回文件名 |
os.path.dirname(path) | 去掉文件名,单独返回目录路径 |
os.path.join(path1[, path2[, …]])将 path1,path2 | 各部分组合成一个路径名 |
os.path.getctime(file) | 返回指定文件的创建时间 |