python -目录操作

    Python编程 wuya 26次浏览 已收录 0个评论

    目录操作

    1. 示例:
      import os
      # 查看当前工作目录
      # print(getcwd())

      # 创建目录:不可以创建中间目录
      # os.mkdir(‘test’)
      # os.mkdir(‘abc/def’)
      # 创建目录:可以创建中间目录
      # os.makedirs(‘abc/def’)

      # 删除目录:只能删除空目录
      # os.rmdir(‘test’)
      # 删除文件
      # os.remove(’01-text.txt’)

      # 修改名字:文件和目录都可以
      # os.rename(‘test’, ‘hello’)
      # os.rename(’00-test.txt’, ’01-text.txt’)

      # 查看目录内容
      # print(os.listdir(‘.’))

      # 查看文件状态:文件和目录都可以
      stat = os.stat(‘.’)
      # 获取大小:对于文件没有问题,对于目录有问题
      print(stat.st_size)
    2. path

    from os import path

    # 路径拼接:目录分隔符会自动处理
    print(path.join(‘abc/def/’, ‘hello.py’))

    # 提取目录
    print(path.dirname(‘abc/def/hello.py’))

    # 提取文件名
    print(path.basename(‘abc/def/hello.py’))

    # 切割目录名与文件名
    dir_name, file_name = path.split(‘abc/def/hello.py’)
    print(dir_name, file_name)

    # 切割文件名与后缀
    print(path.splitext(‘abc/def/hello.py’))

    # 判断文件是否存在
    print(path.exists(‘xxx’))

    # 判断是否是普通文件
    print(path.isfile(‘hello’))

    # 判断是否是目录文件
    print(path.isdir(‘hello’))

    # 判断是否是绝对目录
    print(path.isabs(‘hello’))

    # 转换为绝对目录
    print(path.abspath(‘hello’))

    # 获取文件大小:普通文件可以,目录文件有问题
    print(path.getsize(‘hello/123.py’))

    1. 示例:

    import os

    # 深度遍历目录
    def shengdu(dir_name):
    if not os.path.isdir(dir_name):
    print(dir_name, ‘不是目录,无法遍历’)
    return
    # 转换为绝对目录
    dir_name = os.path.abspath(dir_name)
    files = os.listdir(dir_name)
    for f in files:
    # 拼接完整目录
    file_name = os.path.join(dir_name, f)
    print(file_name)
    if os.path.isdir(file_name):
    shengdu(file_name)

    shengdu(‘../../’)

    练习

    递归统计目录大小

    广度优先遍历目录


    学海无涯 , 版权所有丨如未注明 , 均为原创丨转载请注明python -目录操作
    喜欢 (0)
    发表我的评论
    取消评论
    表情 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址