python3对文件和文件夹的操作

本文介绍如何使用Python 3中的os和shutil模块,实现删除指定目录下的所有文件和子目录。包括递归删除文件、创建目录和判断路径类型等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python3删除某一目录下的所有文件和文件夹

# -*- coding:utf-8 -*-
import os
import shutil

def deletDir(deletDirPath): # 删除某一目录下的所有文件或文件夹
    del_list = os.listdir(deletDirPath)
    for f in del_list:
        file_path = os.path.join(deletDirPath, f)
        if os.path.isfile(file_path):
            os.remove(file_path) # 删除文件
        elif os.path.isdir(file_path):
            shutil.rmtree(file_path) # 删除文件夹

def createDir(createDirPath): # 创建某一目录下的所有文件夹
    if not os.path.exists(createDirPath):
        os.makedirs(createDirPath)
    
if __name__ == "__main__":
    createDirPath = r'.\my_dir\my_dir1'
    createDir(createDirPath)
    deleteDirPath = r'.\my_dir'
    deletDir(deleteDirPath )
os.makedirs(path) # 多层创建目录
os.mkdir(path) # 创建目录
os.path.exists(path) # 判断一个目录是否存在
os.path.isdir(path) # 判断此路径是否为目录/文件夹
os.path.isfile(path) # 判断此路径是否为文件

获取当前路径以及文件名

# -*- coding:utf-8 -*-
import os

filepath = r'E:\python\test\test.py'

curpath = os.path.realpath(filepath) # 获取当前文件绝对路径
print(curpath) # E:\python\test\test.py
parent = os.path.dirname(curpath) # 获取当前文件的文件夹路径
print(parent) # E:\python\test
garder = os.path.dirname(parent) # 获取当前文件的上一层路径
print(garder) # E:\python
filename = os.path.basename(filepath) # 获取文件名
print(filename) # test.py
test1path = os.path.join(parent, "test1") # 拼接文件路径
print(test1path) # E:\python\test\test1
test2path = os.path.join(parent, "test2", "test.txt") # 拼接文件夹路径
print(test2path) # E:\python\test\test2\test.txt

# 另一种实现方式
pwd = os.getcwd() # 当前文件的路径         
print(pwd) # E:\python\test
father_path = os.path.abspath(os.path.dirname(pwd) + os.path.sep + ".") # 当前文件的父路径
print(father_path) # E:\python
grader_father = os.path.abspath(os.path.dirname(pwd) + os.path.sep + "..") # 当前文件的前两级目录
print(grader_father) # E:\

参考链接:https://www.cnblogs.com/yitao326/p/10535899.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值