文件有两个关键属性:路径和文件名。路径指明了文件在磁盘上的位置。例如,我的Python安装在路径'C:bianheng',在这个文件夹下可以找到python.exe 文件,运行可以打开python的交互界面。文件名原点的后面部分被称为扩展名(或后缀),它指明了文件的类型
路径中的'C:称为"根文件夹",它是包含了本分区内所有其他文件和文件夹。文件夹可以包含文件和其他子文件夹。Bianheng 是C盘下的一个子文件夹,它包含了python.exe 文件。
1.1 当前工作目录
每个运行在计算机上的程序,都是有一个当前工作目录。所有没有从根文件夹开始的文件名或路径,都假定工作在当前的工作目录下,在交互环境中输入:
1.2 目录操作
在大多数操作系统中,文件被存储在多级目录(文件夹)中。这些文件和目录被称为文件系统,python的os模板可以处理他们的
1.2.1 创建新目录:
程序可以使用os.makedirs()函数创建新目录。,如下:
Os.makedirs()会在路径中创建所需的文件夹的
1.2.2 删除目录:
当目录不在使用,可以将它删除,使用rmdir()函数删除目录:
删除前:
删除后【rmdir()函数只能时删除空文件夹,当文件夹里面有数据,是报错的】
1.2.3 列出目录内容
使用os.listdir()函数可以返回出路径中文件夹名及文件名的字符串列表的
1.2.4 修改当前目录
使用os.chdir()函数是可以更改当前工作目录的
1.2.5 查找匹配文件或文件夹
使用glob()函数可以查找匹配文件或文件夹目录。Glob()函数使用Unix shell
的规则来查找:
*: 匹配任意个任意的字符
?:匹配单个任意字符
[字符列表]: 匹配字符列表中的任一个字符
[!字符列表]:匹配除列表外的其他字符
2.文件操作
Os.path模板主要是用于文件的属性获取。
2.1 获取路径和文件名
Os.path.dirname(path): 返回path参数中的路径名称字符串
Os.path.basename(path): 返回path参数中的文件名
Os.path.split(path): 返回参数的名称和文件名组成的字符串元组
【如果想要得到路径中每一个文件夹的名族,可以使用字符串方法split,通过os.path.sep对路径进行正确的分隔】
2.2 检查路径有效性
如果提供的路径不存在,许多的python函数也就会崩溃。Os.path提供了一些函数帮助我们判断路径是否是存在
Os.path.exists(path): 判断参数path的文件或文件夹是否存在。存在返回true,否则false
Os.path.isfile(path): 判断参数path存在且是一个文件,则返回true,否则是返回false
Os.path.isdir(path): 判断参数path存在并且是一个文件夹,则返回true,否则返回false。
2.3 查看文件大小
Os.path模块中的os.path.getsize()函数可以查看文件大学。此函数与前面介绍的os.path.listdir()函数可以帮助我们统计文件夹大小.
2.4 重命名文件
使用os.rename()函数可以帮助我们重命名文件
Os.rename("E:\练习\demo.txt", "E:\练习\text.txt")
2.5 删除文件和文件夹
Os 模板和shutil 模板都有函数可以删除文件或文件夹
Os.remove(path)/os.unlink(path): 删除参数path 知道的文件
Shutil.retree(path): shutil.retree()函数删除整个文件夹,包含所有文件及文件夹
【这些函数都是从硬盘中彻底删除文件和文件夹不可恢复,所以要小心使用】
2.6 复制文件和文件夹
Shutil 模板中提供一些函数,帮助我们复制、移动、改名、删除文件夹,实现文件的备份
Shutil.copy(source, destination): 复制文件
Shutil.copytree(source, destination): 复制整个文件夹,包括其中的文件和文件夹