python3笔记—文件夹操作


使用os库
import os

文件操作

#返回当前项目绝对路径
print(os.path.abspath('.'))
#输出:
#E:\study\vs\vscode
#PS E:\study\vs\vscode>

创建文件夹

#创建两个文件夹,后面带不带/效果都一样
path = "E:\\study\\python\\test"
os.mkdir(path + "\\123")
os.mkdir(path + "\\111\\")
  • 创建文件夹时的非法字符过滤
#用正则表达式去除非法字符*":?|<>
import re
a = re.findall(r'[^\*":?|<>]',path,re.S) 
fpath = "".join(a)

删除文件夹

#删除两个文件夹,后面带不带/效果都一样
#删除的目录要为空才能进行删除
path = "E:\\study\\python\\test"
os.rmdir(path + "\\123")
os.rmdir(path + "\\111\\")

多级目录操作

mkdir只能在已有路径下创建一个文件夹
使用makedirs与removedirs可以进行多层级操作

path = "E:\\study\\python\\test"
 #创建多级目录  
os.makedirs(path + "\\2\\3")  
#删除多级目录  
#如果多级目录都为空就全都删除,若不为空则无法删除
#如果最底层都无法删除则会报错
os.removedirs(path + "\\2\\3")

文件检索

获取文件夹下的所有文件

path = "E:\\study\\python\\test"
#获取目标文件夹下的所有文件与文件夹的名称
paths = os.listdir(path + "\\111")
print(type(paths),paths)
for p in paths:
    print(p)

返回类型为list列表在这里插入图片描述

检测文件是否存在

#检测文件是否存在
if os.path.isfile(path + "\\111\\dd.txt"):
    print("dd")
if os.path.isfile(path + "\\111\\x1"):
    print("x1")
else:
    print("not")

输出:
在这里插入图片描述

检测文件夹是否存在

 #检测文件夹或者文件是否存在
#两者都可以检测
if os.path.exists(path + "\\111\\x1"):
    print("存在1")
if os.path.exists(path + "\\111\\dd.txt"):
    print("存在2")
if os.path.exists(path + "\\111\\dd"):
    print("存在3")
else :
    print("not")

输出:
在这里插入图片描述


版权声明:本文为saod4444原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。