python-杂碎知识3-os和os.path.
1.os
(1)目录相关
def make_dir(path): """创建目录""" os.mkdir(path) print(f"创建目录:{path}成功") def make_many_dirs(path): """创建多级目录""" os.makedirs(path) print(f"创建多级目录成功:{path}") def delete_empty_dir(path): """删除空目录""" os.rmdir(path) print(f"删除目录成功,目录:{path}") def delete_not_empty_dir(path): """删除非空目录""" import shutil shutil.rmtree(path) print(f"删除目录成功,目录:{path}") def rename_dir(old,new): """重命名文件目录""" os.rename(old,new) print(f"重命名{old}命名{new}成功")
# 验证文件的权限 new=r"E:\V\M\python\c07\a\info.txt" value=os.access(path=new,mode=os.F_OK) print(value) # 修改文件权限 权限值:r w x rwx 用户权限:OTH GRP USR path=r"E:\V\M\python\c07\a\info.txt" os.chmod(path=path,mode=stat.S_IRUSR)
2.os.path(文件路径)
path=r"E:\V\M\python\c7\a\info.txt" # 是否为目录 os.path.isdir(path) # 是否为文件 os.path.isfile(path) # 获取当前文件的目录 os.getcwd() def get_path(): path=os.getcwd() return path path=get_path() print(path) # 获取绝对路径 path=r"E:\V\M\python\c7\a\info.txt" print(os.path.abspath(path)) # 获取路径的目录 path=r"E:\V\M\python\c7\a" print("目录名称:",os.path.dirname(path)) #路径是否存在,存在返回True print("路径是否存在",os.path.lexists(path)) # 路径进行分割 把目录及文件进行分割,返回一个元组os.path.split(path) path=r"E:\V\M\python\c7\a\info.txt" value=os.path.split(path) print(value) rootpath=value[0] print(f"获取路径{value}的目录:{rootpath}") # 获取当前文件的名称 rootpath="E:\V\M\python" filename="1.log" # 把目录和文件进行拼接os.path.join(目录,文件) path=os.path.join(rootpath,filename) print(path) # 需求:log目录/日志文件+时间 rootpath="E:\V\M\python" log_dir=os.path.join(rootpath,"log") import time path=os.path.join(log_dir,f'log_{time.strftime("%Y%m%d%H%M%S",time.localtime())}.txt') print(path) # 如何获取根路径 path=__file__ print(path) dir_path=os.path.dirname(os.path.dirname(path)) print(dir_path)
注:os.path.dirname(path) 作用:去掉文件名,返回目录或返回path路径最后一层的目录;__file__表示了当前文件的path,os.path.dirname((__file__)和os.path.dirname(“E:/R/yaml.py”)一样
所以os.path.dirname(__file__)就是当前文件的绝对路径
每篇一句:
心姐又说了一个搞笑的:简便洗手,洗手简便。
本文来自博客园,作者:Titen,转载请注明原文链接:https://www.cnblogs.com/chengxiazuohua/p/15605393.html