目录
1、系统相关变量操作
print(os.name) # 返回操作系统类型,windows返回nt,Linux返回posix
print(os.environ) # 返回系统环境变量
print(os.environ.get('PATH')) # 通过key值获取环境变量对应的value值
print(os.sep) # 返回用于系统路径的分隔符 windows下是\
print(os.linesep) # 返回文件换行分隔符
print(os.getcwd()) # 返回当前工作的目录路径
2、文件和目录相关操作
print(os.listdir(".")) # 指定目录下的所有文件和目录名
os.rmdir("./demo.py") # 删除空目录
os.mkdir("./demo.py") # 创建一个目录文件,当目录存在时无法创建,报错
os.rmdir("./demo.py") # 删除空目录
os.mkdir("./demo.py")
os.remove("./readme") # 删除path指定的文件,不能删除文件夹
os.makedirs("./test/test1") # 可以生成多层递归目录,如果目录全部存在,则创建目录失败
os.removedirs("./test/test1") # 可以删除多层递归空目录,若目录中有文件则无法删除
print(os.getcwd())
os.chdir(r'C:\Users\bo.xiao\Desktop')
print(os.getcwd())
os.rename(r"C:/Users/bo.xiao/Desktop/PyProjects/day20220607/demo.py", r"C:/Users/bo.xiao/Desktop/PyProjects/day20220607/demo2.py")
3、路径相关操作
print(os.path.basename('./demo_os.py')) # 返回文件名
print(os.path.dirname('./demo_os.py')) # 返回文件路径
print(os.path.getsize('./demo2.py')) # 返回文件大小,输出字节,如果是目录,返回0
print(os.path.getctime('./demo_os.py')) # 获取文件创建时的时间戳
print(os.path.getatime('./demo_os.py')) # 获取文件最后修改时候时间戳
print(os.path.abspath('./demo_os.py')) # 获得绝对路径
print(os.path.join(r'C:\Users\bo.xiao\Desktop\PyProjects\day20220607', 'demo_os.py')) # 连接目录与文件名或目录
print(os.path.exists('./demo_os.py')) # 判断文件是否存在
print(os.path.isfile('./demo_os.py')) # 判断是否为文件
print(os.path.isdir('./demo_os.py')) # 判断是否为目录
递归输出目录结构:
def recursion_file_catalogue(path, indent=0, maxi=-1):
"""
:param path:str 文件路径
:param indent:int 首次缩进空格(默认为0,一般不用改变)
:param maxi:int 最大展开层数(默认为-1,表示全部展开)
:return:文件目录
"""
if maxi != 0:
try:
lsdir = os.listdir(path)
except PermissionError: # 对于权限不够文件不做处理
pass
else:
for item in lsdir:
full_path = os.path.join(path, item)
if os.path.isdir(full_path):
print(' ' * indent, '+', item)
recursion_file_catalogue(full_path, indent+4, maxi-1)
if os.path.isfile(full_path):
print(' ' * indent, '-', item)
if __name__ == '__main__':
file_path = r'C:\Python学习'
print('-----按字典序递归输出目录结构---')
recursion_file_catalogue(file_path, 0, 2)
创建目录
path = r'E:\Python学习\img'
if os.listdir(path):
for file in os.listdir(path):
os.remove(path + "\\" + file)
os.rmdir(path)
os.mkdir(path)
else:
os.rmdir(path)
os.mkdir(path)