7.2 文件夹操作

文件夹也叫文件目录,可以存放、组织多个文件。os模块提供了一组常见函数,可以方便进行文件夹管理。

比如:

  • mkdir    创建文件夹
  • chdir    改变当前文件夹
  • rmdir    删除文件夹
  • listdir    罗列文件夹内容

我们通过一个练习来了解下相关操作。自动生成姓名文件夹,即根据已有的学生学号,自动生成相应的各个文件夹,每个文件夹对应一个学号。

首先先来根据姓名列表建立文件夹:

import os

stus = ['202010001', '202010002', '202010003']
for i in stus:
    os.mkdir(i)

由于没有指定在哪里创建文件夹,因此默认在当前项目所在目录。运行后可以在项目当前目录中看到三个新的文件夹:

 也可以写为:

import os

stus = ['202010001', '202010002', '202010003']
for i in stus:
    os.mkdir(os.getcwd() + '\\' + i)

效果一样。其中的getcwd函数可以获取当前项目所在目录。

请注意,此时直接反复运行上述代码会出现错误,提示为“文件已经存在(FileExistsError)”,因此大家需要在再次运行前,先删除这些创建的文件夹。

 也可以在其他目录建立这些文件夹:

import os

root = 'D:\\temp\\'
stus = ['202010001', '202010002', '202010003']
for i in stus:
    os.mkdir(root + i)

这里是在D盘的 temp 目录下建立。为此,需要首先建立 D 盘的temp目录,否则会出现找不到该目录的错误。

 也可以写成下面的代码,效果一样:

import os

root = 'D:\\temp\\'
stus = ['202010001', '202010002', '202010003']
os.chdir(root)
for i in stus:
    os.mkdir(os.getcwd() + '\\' + i)

这里首先使用 chdir 函数改变了当前项目默认的目录,改为 D 盘 temp 目录,因此接下来 getcwd 方法再次获取当前目录就是 D 盘 temp 目录。当然,这里如果已经存在相应的文件夹,仍然会创建失败。

为此可以先判断是否存在相同名称的文件夹,如有,先删除再创建。

import os

root = 'D:\\temp\\'
stus = ['202010001', '202010002', '202010003']

if os.path.exists(root):
    for i in os.listdir(root):
        os.rmdir(root + i)

os.chdir(root)
for i in stus:
    os.mkdir(os.getcwd() + '\\' + i)

该代码增加了文件夹是否存在的判断,如果是通过循环遍历每个文件夹,利用 rmdir 删除文件夹。这样,就可以不断的运行,自动删除自动创建,便于修改代码。

请注意,不论是文件还是文件夹,删除都是不可恢复的。对于文件夹,如果里面有文件或者其他子文件夹,需要先删除后才能删除该文件夹。

配套学习资源、慕课视频:

Python大数据分析-李树青icon-default.png?t=M1L8https://www.njcie.com/python/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leeshuqing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值