使用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")
输出: