Python基础之os标准库

目录

1、系统相关变量操作

2、文件和目录相关操作

3、路径相关操作


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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值