C++目录操作
类别 | 头文件 | 代码 |
---|---|---|
windows判断目录是否存在 | #include<io.h> | _access() |
windows创建目录 | #include<direct.h> | mkdir() |
linux判断目录是否存在 | #include<sys/types.h> | access() |
linux创建目录 | #include<sys/stat.h> | mkdir() |
python目录操作:
创建目录
import os
os.mkdir(path)#创建目录
os.makedirs(path)#级联创建目录
目录是否存在
os.path.exists(path)
遍历目录
os.walk()
import os
for root, dirs, files in os.walk(".", topdown=True):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
Topdown为True先序遍历
root代表文件夹
dirs代表目录列表
files表示文件列表
删除目录
os.removedirs(path)
递归地删除目录。类似于rmdir(), 如果子目录被成功删除, removedirs() 将会删除父目录;但子目录没有成功删除,将抛出错误。
举个例子, os.removedirs(“foo/bar/baz”) 将首先删除 “foo/bar/ba”目录,然后再删除foo/bar 和 foo, 如果他们是空的话
如果子目录不能成功删除,将 抛出 OSError异常
os.rmdir(path)
删除目录 path,要求path必须是个空目录,否则抛出OSError错误
shutil.rmtree
import shutil
shutil.retree(目录)
递归删除非空目录
split
os.path.split
将文件夹路径和文件名分开
dirname,filename=os.path.split(path)
/home/skyu/a.py ->则dirname=/home/skyu,filename=a.py
os.path.splitext
将文件路径和后缀分开
fname,fename=ps.path.splitext(path)
/home/skyu/a.py ->则fname=/home/skyu/a,fename=.py
ps.path.dirname
返回文件所在的路径名
dirname=ps.path.dir('F1/input.txt')
#结果为F1
os.path.join
os.path.join(x1,x2,x3)
会将括号内的参数连成新的路径