python -目录操作

ernestwang 838 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条评论)

还木有评论哦,快来抢沙发吧~

复制成功
微信号: irenyuwang
关注微信公众号,站长免费提供流量增长方案。
我知道了