zoukankan      html  css  js  c++  java
  • python 中文件夹的操作

     文件有两个管家属性:路径和文件名。

    路径指明了文件在磁盘的位置,文件名原点的后面部分称为扩展名(后缀),它指明了文件的类型

    一:文件夹操作

    Python中os 模块可以处理文件夹

    1,当前工作目录

    import os
    p = os.getcwd()
    print(p)
    #C:UsersAdministratorDesktop

    2,创建新目录

    import os
    os.makedirs('C:\Users\Administrator\Desktop\01\02')

    注:路径中所有必须的文件夹,都会被创建

    3,删除目录

    import os
    os.rmdir('C:\Users\Administrator\Desktop\01\02')

    注:rmdir()只能删除空文件夹,否则抛出异常

    4,列出当前目录内容(文件,文件夹),返回列表

    import os
    p = os.listdir('C:\Users\Administrator\Desktop')
    print(p)

    5,修改当前目录

    import os
    os.chdir('C:\Users\Administrator')
    print(os.listdir('.'))

    注:“ .”代表当前路径

    二:查找匹配的文件或者文件夹

    使用glob()函数可以查找匹配文件或文件

    1 import glob
    2 glob.glob('2*')              #查找以2开头的文件或者文件夹
    3 glob.glob('d????')       #查找以d开头的并且全长为5个字符的文件或者文件夹
    4 glob.glob('[abcd]*')      #查找以其中任意字符开头的文件或者文件夹
    5 glob.glob('[!abcd]*')     #同上,取反

    三:文件的操作

    os.path 模块主要用于文件的属性获取,在编程中经常用到

    1,获取路径和文件名

    import os
    print(os.path.dirname('C:\Users\Administrator\Desktop'))           #C:UsersAdministrator
    返回path参数中路径名称字符串
    print(os.path.basename('C:\Users\Administrator\Desktop'))      #Desktop
    返回path参数中的文件名
    print(os.path.split('C:\Users\Administrator\Desktop'))        #('C:\Users\Administrator', 'Desktop')
    返回参数的路径名称和文件名 组成的字符串元祖
    print('C:\Users\Administrator\Desktop'.split(os.path.sep))      #['C:', 'Users', 'Administrator', 'Desktop']

    如想得到路径中每个文件夹的名字,可以使用上面的方法

    2,检查路径的有效性

    import os
    path = 'C:\Users\Administrator\Desktop\01'
    os.path.exists(path)            #判断参数中文件或文件夹是否存在
    os.path.isfile(path)       #判断参数中该文件是否存在
    os.path.isdir(path)        #判断参数中该文件夹是否存在

    注:以上结果存在 返回True ,否则 False

    3,查看文件的大小

    #例子:统计该文件夹下所有文件的大小
    import os
    path = 'C:\Users\Administrator\Desktop\01'
    totalsize = 0
    for i in os.listdir(path):
    totalsize += os.path.getsize(i)
    print(totalsize)

    返回结果单位为byte(字节)

    4,重命名文件

    import os
    os.rename('C:\Users\Administrator\Desktop\01\01.txt','C:\Users\Administrator\Desktop\01\02.txt')

    5,复制文件和文件名

    shutil模块中的函数,可以帮助我们复制,移动,改名,和删除文件夹,可以实现文件的备份

    import shutil
    shutil.copy('C:\Users\Administrator\Desktop\01\02.txt','C:\Users\Administrator\Desktop\01\03.txt')
    上面这个方法可以复制文件
    shutil.copytree()  这个方法可以递归复制文件夹

    6,文件和文件夹的移动和改名

    import shutil
    shutil.move('C:\Users\Administrator\Desktop\01\02.txt','C:\Users\Administrator\Desktop') 单移动

    import shutil
    shutil.move('C:\Users\Administrator\Desktop\01\02.txt','C:\Users\Administrator\Desktop\03.txt') #移动+改名

    注:如果最终移动目录存在重名的文件,则直接覆盖(需谨慎)

    7,删除文件和文件夹

    os模块和shutil模块都有函数可以删除 文件和 文件夹

    os.remove(path)/os.unlink(path) :删除path指定的文件或 文件夹

    import os
    os.remove('C:\Users\Administrator\Desktop\02.txt')

    解析: os.rmdir(path) 只能删除空文件夹,shutil.rmtree(path)  可以删除整个文件夹,包含所有子文件(需谨慎)

  • 相关阅读:
    爬虫开头
    JAVA练习笔记---copyfile
    String
    十进制转化为八进制--栈实现
    一、给计算机专业的同学,计算机鸡汤
    数值的整数次方
    剪绳子-动态规划-贪婪
    二进制中为1 的数字个数
    机器人运动范围——回溯法应用
    矩阵的路径
  • 原文地址:https://www.cnblogs.com/lvye001/p/10019718.html
Copyright © 2011-2022 走看看