目录操作
- 示例:
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)
- 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'))
- 示例:
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
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~