python中的文件夹操作

python中的文件夹操作

游戏|数码彩彩2024-04-10 7:40:58257A+A-

文件有两个关键属性:路径和文件名。路径指明了文件在磁盘上的位置。例如,我的Python安装在路径'C:bianheng',在这个文件夹下可以找到python.exe 文件,运行可以打开python的交互界面。文件名原点的后面部分被称为扩展名(或后缀),它指明了文件的类型

python中的文件夹操作

 

路径中的'C:称为"根文件夹",它是包含了本分区内所有其他文件和文件夹。文件夹可以包含文件和其他子文件夹。Bianheng 是C盘下的一个子文件夹,它包含了python.exe 文件。

1.1 当前工作目录

每个运行在计算机上的程序,都是有一个当前工作目录。所有没有从根文件夹开始的文件名或路径,都假定工作在当前的工作目录下,在交互环境中输入:

python中的文件夹操作

 

1.2 目录操作

在大多数操作系统中,文件被存储在多级目录(文件夹)中。这些文件和目录被称为文件系统,python的os模板可以处理他们的

1.2.1 创建新目录:

程序可以使用os.makedirs()函数创建新目录。,如下:

python中的文件夹操作

 

Os.makedirs()会在路径中创建所需的文件夹的

1.2.2 删除目录:

当目录不在使用,可以将它删除,使用rmdir()函数删除目录:

删除前:

python中的文件夹操作

 

删除后【rmdir()函数只能时删除空文件夹,当文件夹里面有数据,是报错的】

python中的文件夹操作

 

1.2.3 列出目录内容

使用os.listdir()函数可以返回出路径中文件夹名及文件名的字符串列表的

python中的文件夹操作

 

1.2.4 修改当前目录

使用os.chdir()函数是可以更改当前工作目录的

python中的文件夹操作

 

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): 返回参数的名称和文件名组成的字符串元组

python中的文件夹操作

 

【如果想要得到路径中每一个文件夹的名族,可以使用字符串方法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()函数可以帮助我们统计文件夹大小.

python中的文件夹操作

 

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): 复制整个文件夹,包括其中的文件和文件夹

点击这里复制本文地址 版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(https://www.angyang.net.cn)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

昂扬百科 © All Rights Reserved.  渝ICP备2023000803号-3网赚杂谈