python-标准库os模块的使用

python-标准库os模块的使用

1. 标准库os

  • os库主要对目标和文件操作。

    方法 描述
    os.name 返回操作系统类型
    os.environ 以字典形式返回系统变量
    os.putenv(key, value) 改变或添加环境变量
    os.listdir(path=’.’) 列表形式列出目录下所有目录和文件名
    os.getcwd() 获取当前路径
    os.chdir(path) 改变当前工作目录到指定目录
    os.mkdir(path [, mode=0777]) 创建目录
    os.makedirs(path [, mode=0777]) 递归创建目录
    os.rmdir(path) 移除空目录,不能删除有文件的目录
    os.remove(path) 移除文件
    os.rename(old, new) 重命名文件或目录
    os.stat(path) 获取文件或目录属性
    os.chown(path, uid, gid) 改变文件或目录所有者
    os.chmod(path, mode) 改变文件访问权限
    os.symlink(src, dst) 创建软链接
    os.unlink(path) 移除软链接
    os.getuid() 返回当前进程UID
    os.getlogin() 返回登录用户名
    os.getpid() 返回当前进程ID
    os.kill(pid, sig) 返回当前进程ID
    os.kill(pid, sig) 发送一个信号给进程
    os.walk(path) 目录树生成器,生成一个三组(dirpath,dirnames,filenames)
    os.system(command) 执行shell命令,不能存储结果
    os.popen(command [, mode='r' [, bufsize]]) 打开管道来自shell命令,并返回一个文件对象
  • os.path类用于获取文件属性

    方法 描述
    os.path.basename(path) 返回最后一个文件或目录名
    os.path.dirname(path) 返回最后一个文件所属目录
    os.path.abspath(path) 返回一个绝对路径
    os.path.exists(path) 判断路径是否存在,返回布尔值
    os.path.isdir(path) 判断是否是目录
    os.path.isfile(path) 判断是否是文件
    os.path.islink(path) 判断是否是链接
    os.path.ismount(path) 判断是否挂载
    os.path.getatime(filename) 返回文件访问时间戳
    os.path.getctime(filename) 返回文件变化时间戳
    os.path.getmtime(filename) 返回文件修改时间戳
    os.path.getsize(filename) 返回文件大小,单位字节
    os.path.join(a, *p) 加入两个或两个以上路径,以正斜杠"/"分隔。常用于拼接路径
    os.path.split() 分隔路径名
    os.path.splitext() 分隔扩展名

2. 案例

  • 案例1、os基本使用对目标和文件操作

    #!/usr/bin/env python3
    # _*_ coding: utf-8 _*_
    # Author:shichao
    # File: .py
    
    
    import os
    
    # 返回操作系统类型
    print(os.name)
    
    # 以字典形式返回系统变量
    print(os.environ)
    
    #列表形式列出目录下所有目录和文件名
    print(os.listdir("/tmp"))
    
    # 获取当前路径
    print(os.getcwd())
    
    # 切换到其他目录
    os.chdir('/tmp')
    print(os.getcwd())
    
    # 创建目录
    os.mkdir("test")
    print(os.listdir())
    
    # # 创建递归目录
    # os.makedirs("a/b/c")
    # print(os.listdir())
    
    # 删除目录
    os.rmdir("test")
    print(os.listdir())
    
    # 重命名文件或目录
    os.mkdir("testdir")
    print(os.listdir())
    os.rename("testdir","test")
    print(os.listdir())
    
    # 获取文件或目录属性
    print(os.stat("test"))
    
    # 改变文件或目录所有者
    os.chown("test",1000,1000)                # 返回用户的uid 和gid 数字
    
    # 创建软链接
    os.symlink("test","t1")
    
    # 移除软链接
    os.unlink("t1")
    
    # 删除目录
    os.rmdir("test")
    
    # 返回当前进程UID
    print(os.getuid())
    
    # 返回登录用户名
    print(os.getlogin())
    
    # 返回当前进程ID
    print(os.getpid())
    
  • 案例2、获取文件属性

    #!/usr/bin/env python3
    # _*_ coding: utf-8 _*_
    # Author:shichao
    # File: .py
    
    import os
    
    
    # 返回最后一个文件或目录名
    print(os.path.basename("/tmp/test"))               # 返回一个目录路径下最后一个的,文件名或目录名
    
    # 返回最后一个文件所属目录                         # 返回一个目录路径
    print(os.path.dirname("/tmp/b/a.txt"))
    
    # 切换到其他目录
    os.chdir('/tmp')
    print(os.getcwd())
    
    # 判断路径是否存在,返回布尔值
    print(os.path.exists("/tmps"))
    
    if os.path.exists("/tmp") == True :
        print("目录路径存在")
    else:
        print("目录路径不存在")
    
    
    
    
    
  • os.path类用于获取文件属性**

    #!/usr/bin/env python3
    # _*_ coding: utf-8 _*_
    # Author:shichao
    # File: .py
    import os
    
    # 判断是否是目录
    
    print(os.path.isdir("test"))
    
    # 判断是否是文件
    
    print(os.path.isdir("a.txt"))
    
    # 返回文件访问时间戳
    
    print(os.path.getatime("a.txt"))
    
    # 拼接路径
    
    print(os.path.join("/tmp","a.txt"))               # 返回结果就是/tmp/a.txt
    
    # 分隔路径
    
    print(os.path.split("/tmp/a.txt"))                  # 返回结果是一个元组两个元素,('/tmp', 'a.txt')
    
    # 分隔后缀
    
    print(os.path.splitext("a.txt"))                    # 返回结果是一个元组两个元素,('a', '.txt')
    
posted @ 2023-01-13 10:04  七月流星雨  阅读(122)  评论(0编辑  收藏  举报