os模块使用

os模块使用

目录管理(os)

  • system:执行系统命令

    # 执行系统命令
    os.system('cls')
    
  • name:获取操作系统名称

    # 操作系统名称,nt代表Windows, posix代表类unix
    print(os.name)
    
  • environ

    # 获取环境变量
    env = os.environ
    
    print(env['path'])
    print(env.get('path'))
    print(env.get('HELLO'))
    
  • getcwd:# 获取当前工作目录

    print(os.getcwd())
    
  • mkdir:创建目录

    # 创建目录,只能是单层目录
    # os.mkdir('hello')
    
    # 这里会失败
    # os.mkdir('a/b/c')
    
  • makedirs:创建目录,会创建中间目录

    # 会创建中间目录
    # os.makedirs('a/b/c')
    
  • rmdir:删除目录,只能删除空目录

    # 删除目录,只能删除空目录
    # os.rmdir('hello')
    # 当目录中有其他文件或目录时删除失败
    # os.rmdir('a')
    
  • rename:修改文件名(可以是目录)

    # 修改名字,可以是目录 (old, new)
    # os.rename('a', 'c')
    # 也可以修改文件名
    # os.rename('test.py', '123.py')
    
  • stat:查看文件信息

    # 查看文件信息
    print(os.stat('123.py'))
    
  • listdir:列出直接子文件

    # 列出直接子文件
    print(os.listdir('c'))
    
  • 相对目录、绝对目录

    相对目录:就是有参考的目录
    	. 表示当前目录,通常 ./ 可以省略
    	.. 表示上一级目录
    	
    绝对目录:windows中以某个盘符开头,类unix系统中以'/'开头的目录
    
    目录分隔符:
    	类unix:/
    	windows:/ 或 \
    	建议:统一使用 '/' 表示
    	
    说明:在文件操作时,使用相对目录和绝对目录都可以
    
  • path

    from os import path
    
    # 拼接目录
    print(path.join('abc/def', '123.py'))
    
    # 提取文件后缀(切割文件名与后缀)
    name, ext = path.splitext('789.py')
    print(name, ext)
    
    # 提取目录名(最后一个目录分隔符的前面内容)
    print(path.dirname('123/456/789.py'))
    
    # 提取文件名(包括后缀)
    print(path.basename('123/456/789.py'))
    
    # 切割文件名和目录
    print(path.split('123/456/789.py'))
    
    # 判断文件是否存在(可以是目录)
    print(path.exists('123.py'))
    
    # 判断是否是目录文件
    print(path.isdir('c'))
    
    # 判断是否是普通文件
    print(path.isfile('123.py'))
    
    # 获取普通文件大小
    print(path.getsize('01-os.py'))
    # 不可以获取目录大小,始终是0
    print(path.getsize('c'))