The os standard library based on Python

Table of contents

1. System related variable operation

2. File and directory related operations

3. Path-related operations


1. System related variable operation

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. File and directory related operations

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. Path-related operations

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'))  # 判断是否为目录

Recursive output directory structure: 

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)

Create a directory

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)

Guess you like

Origin blog.csdn.net/xiao__dashen/article/details/125262767