网站地图 | Sitemap | Rss
  • 您当前位置:网站首页 >> Python学习日志 >> Python 创建、复制、移动、删除和重命名文件和文件夹
  • Python 创建、复制、移动、删除和重命名文件和文件夹

    来源:逍遥峡谷 发布时间:2019-12-23 更新时间:2020-01-04 浏览0条评论
    内容简介

    相关关键词:Python   os模块   shutil模块  

    本文链接:https://www.icoa.cn/a/882.html

    本站文章如非注明皆为原创,未经允许禁止转载。如有问题可以给我留言或发邮件。

    我们本文学习使用Python对电脑文件和文件夹进行操作,包括创建、复制、移动、删除和重命名等操作。

    os.mkdir() 创建文件夹

    # 引入 os 模块,下面的代码都默认已引入

    import os
    os.mkdir('新的文件夹')
    '''注意,如果当前已经有这个文件夹了,就会报错
    FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: '新的文件夹'
    所以我们可以在创建文件夹之前先判断是否存在,不存在再新建。'''


    os.path.exists('文件夹名称') 可判断文件夹是否存在

    if not os.path.exists('新的文件夹'):
        os.mkdir('新的文件夹')
    else:
        print('该文件夹已存在,无法创建')


    os.makedirs() 创建多层文件夹

    创建多层文件夹的时候,当最里层文件夹存在的时候报错

    os.makedirs('第一层文件夹/第二层文件夹/第三层文件夹')


    复制、移动、重命名需要使用shutil模块

    复制和移动文件(并重命名)

    复制文件 shutil.copy()

    shutil.copy('文件名',‘目的文件夹) 复制到目的文件夹下面

    shutil.copy('文件名',‘目的文件夹/新文件名’) 复制到目的文件夹下面,之后重命名

    移动文件 shutil.move()

    shutil.move('文件名',‘目的文件夹) 移动到目的文件夹下面

    shutil.move('文件名',‘目的文件夹/新文件名’) 移动到目的文件夹下面,之后重命名


    # 引入shutil模块
    import shutil
    # 复制或移动到目的文件夹下面
    # 如果只写目标文件夹的名称的话,如果目标文件夹不存在,则会将复制或移动之后的文件重命名为目标文件夹的名称
    # demo.txt 复制到 新的文件夹 下面
    shutil.copy('demo.txt','新的文件夹')
    # file1.txt 移动到 新的文件夹 下面
    shutil.move('file1.txt','新的文件夹')
    # 复制或移动到目的文件夹下面之后,重命名
    # 如果目标文件夹不存在,则会报错
    # demo.txt 复制到 新的文件夹 下面,并重命名为new1.txt
    shutil.copy('demo.txt','新的文件夹/new1.txt')
    # file2.txt 移动到 新的文件夹 下面,并重命名为 new2.txt
    shutil.move('file2.txt','新的文件夹/new2.txt')

    复制和移动文件,如果目的文件夹不存在,或者要复制和移动的文件不存在,则都会报错。

    复制和移动对于移动到的文件夹下面是否存在同名文件,处理结果不同。如果同名文件存在,文件可以成功复制,并覆盖目标文件。而移动文件的话,同名文件存在,则报错。

    # 建议在复制或移动之前做相应判断
    if os.path.exists('新的文件夹'):
        shutil.copy('demo.txt','新的文件夹')
    else:
        print('目的文件夹不存在,无法复制')
    if os.path.exists('新的文件夹'):
        shutil.move('file1.txt','新的文件夹')
    else:
        print('目的文件夹不存在,无法移动')


    复制和移动文件夹(并重命名)

    复制和移动文件夹的时候,文件夹下面的所有文件和文件夹一同被复制或移动到目的路径。

    因为需要填写复制和移动之后的文件夹名,所以可以写原来的名称,也可以写新的文件夹名称。

    # 复制文件夹 shutil.copytree()
    shutil.copytree('要复制的文件夹', '目的文件夹/要复制的文件夹') 复制到目的文件夹下面
    shutil.copytree('要复制的文件夹', '目的文件夹/新文件夹') 复制过去并重命名为 新文件夹
    # 移动文件夹 shutil.move()
    shutil.copytree('要移动的文件夹', '目的文件夹') 移动到目的文件夹下面
    shutil.copytree('要移动的文件夹', '目的文件夹/新文件夹') 复制过去并改名为 新文件夹
    '''对于目标路径下是否有同名文件夹,shutil.copytree() 和 shutil.move 运行结果不同。
    复制文件夹,目标路径下有同名文件夹,会报错。
    移动文件夹,目标路径下有同名文件夹,则会移动到同名文件夹的下面,如果同名文件夹下面还有一个同名文件夹,才会报错'''
    # 假设 文件夹1 要移动到的 新文件夹/文件夹1 是存在的
    shutil.move('文件夹1','新文件夹/文件夹1')
    # 运行之后,文件夹结构会变成:新文件夹/文件夹1/文件夹1
    # 如果 新文件夹/文件夹1/文件夹1 也存在,则会报错
    # 所以建议用下面的方法判断是否存在同名文件夹
    import os
    import shutil
    if not os.path.exists('新的文件夹/文件夹1'):
        shutil.copytree('文件夹1', '新的文件夹/文件夹1')
    else:
        print('该文件夹已存在,无法复制')
    # 对于移动文件夹来说,则下面两个的执行结果是一样的
    if not os.path.exists('新的文件夹/文件夹1'):
        shutil.move('文件夹1, '新的文件夹')
    else:
        print('该文件夹已存在,无法移动')
    if not os.path.exists('新的文件夹/文件夹1'):
        shutil.move('文件夹1, '新的文件夹')
    else:
        print('该文件夹已存在,无法移动')


    重命名 os.rename()

    # 首先要引入os模块,如果程序前面已经引入了,则不用重复引入
    import os
    # demo.txt 重命名为 new.txt
    os.rename('demo.txt','new.txt')
    # 文件夹1 重命名为 文件夹2
    os.rename('文件夹1','文件夹2')
    # 如果目的文件夹不是当前文件夹下面,则相当于移动并重命名,跟shutil.move()执行效果一样
    # 所以下面这两个语句运行结果是相同的
    # demo.txt 重命名为 new.txt,并移动到 目的文件夹 下面
    os.rename('demo.txt','目的文件夹/new.txt')
    shutil.move('demo.txt','目的文件夹/new.txt')
    # 文件夹1 移动到 新的文件夹 下面
    os.rename('文件夹1','新的文件夹/文件夹1')
    shutil.move('文件夹1','新的文件夹/文件夹1')
    # 同样重命名之前需要判断是否有同名文件和文件夹,这里不再重复了


    删除

    删除文件 os.remove()

    # 删除 file1.txt
    os.remove('file1.txt')
    # 删除 文件夹1 下面的 file1.txt
    os.remove('文件夹1/file1.txt')


    删除文件夹 shutil.rmtree()

    # 删除 文件夹1
    shutil.rmtree('文件夹1')

    相关 Python 学习日志:

    Python 基础知识:

    利用 Python 处理文件和文件夹:

    Python 自动化处理 Excel 表格

    ......

    其他:Python 第三方模块和安装方法


    本文链接:https://www.icoa.cn/a/882.html
    关键词: Python   os模块   shutil模块  

    上一篇:Python 读取、创建和解压zip压缩包文件

    下一篇:Python 创建临时文件和临时文件夹


    - 相关文章 -


    安装 Scrapy 以及出现 Twisted 安装错误的解决方法 - 2020-01-19

    Python 如何定时执行任务和应用实例 - 2020-01-09

    案例:使用Python 对Excel表格文档进行批量处理 - 2020-01-08

    案例:用 Python 把最近三个月未修改过的文件进行压缩备份 - 2020-01-07

    案例:使用 Python 批量给文件名加序号 - 2020-01-05

    Python 函数与函数的自定义 - 2020-01-05

    Python 收邮件、读邮件、标记已读和删除邮件 - 2020-01-04

    Python 使用 yagmail 模块发送邮件 - 2020-01-04


    - 文章评论 -




    4684

    [由于政策原因,您的留言如果提交成功后,需要审核才能展示,请改天再来查看,请不要重复提交,谢谢支持!]

    - 最新评论[0条评论] -


    [>>>点击查看更多评论]

    逍遥峡谷 逍遥乱弹 张立博 爱之路 酷品优选 宝贝派

    版权所有©逍遥峡谷 - 星际中央超自然局·地球总部 | 冀ICP备06033848号
    Copyright©Interstellar Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合
    网络违法犯罪举报