• os模块


    前言:

    os和sys模块使用起来容易模糊,写一下官方的解释。

     os模块提供了一种方便的用户操作操作系统的函数方法

    sys模块提供由解释器使用或者维护的变量与解释器进行交互的函数

    总结:    os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。

    Python的标准库中的os模块主要涉及普遍的操作系统功能。可以在Linux和Windows下运行,与平台无关。

    导入模块

    import os

    os模块

    os模块常用方法

    常用文件和文件夹的操作

    • getcwd()
      • 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)
      • result = os.getcwd()
        print(result) 
    • chdir()
      • 改变当前工作目录
      • os.chdir('/home/sy')
        result = os.getcwd()
        print(result)
    • listdir()
      • 获取指定文件夹内所有内容的名称列表
      • result = os.listdir('/home/sy')
        print(result)
    • mkdir()
      • 创建文件夹
      • os.mkdir('girls')
    • makedirs()
      • 递归创建文件夹
      • os.makedirs('/home/sy/a/b/c/d')
    • rmdir()
      • 删除空目录
      • os.rmdir('girls')
    • removedirs()
      • 递归删除文件夹,必须都是空目录
      • os.removedirs('/home/sy/a/b/c/d')
    • rename()
      • 文件或者文件夹重命名
      • os.rename('/home/sy/a','/home/sy/alibaba'
        os.rename('02.txt','002.txt'
    • stat()
      • 获取文件或者文件夹的信息
      • result = os.stat('/home/sy/PycharmProject/Python3/10.27/01.py)
        print(result)
    • system()
      • 执行系统命令(危险函数)
      • result = os.system('pwd')
        print(result)

    常用环境变量的操作

    环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

    • getenv()
      • 获取系统的环境变量
      • result = os.getenv('PATH')
        print(result.split(':'))
    • putenv()
      • 将一个目录添加到环境变量中(临时增加,只对当前脚本有效)
      • os.putenv('PATH','/home/sy/下载')
        os.system('syls')

    其他方法

    • exit()
      • 退出终端的命令  

    os模块中常用的属性

    • curdir
      • 表示当前文件夹,但是一般用'.'来表示,一般情况下可以省略
      • print(os.curdir)
    • pardir
      • 表示上层文件夹,但是一般用'..'来表示,不可以省略
      • print(os.pardir)
    • name
      • 获取代表操作系统的名称或者字符串
      • print(os.name)   #posix -> linux或者unix系统  nt -> window系统 
    • sep
      • 获取系统路径间间隔符
      • print(os.sep)    # window ->    linux ->/
    • extsep
      • 获取文件名称和后缀之间的间隔符号
      • print(os.extsep)        #  window和inux -> .
    • linesep
      • 获取操作系统的换行符号
      • print(repr(os.linesep))    # window -> 
          linux/unix -> 
         

    os.path子模块

    常用方法

    • abspath()
      • 将相对路径转换为绝对路径
      • path = './boys'#相对
        result = os.path.abspath(path)
        print(result)
    • dirname()
      • 获取完整路径当中的目录部分
      • path = '/home/sy/boys'
        result = os.path.dirname(path)
        print(result)   # /home/sy
    • basename()
      • 获取完整路径当中的主体部分
      • path = '/home/sy/boys'
        result = os.path.basename(path)
        print(result)   # boys
    • split()
      • 将一个完整的路径切割成目录部分和主体部分
      • path = '/home/sy/boys'
        result = os.path.split(path)
        print(result)       # ('/home/sy', 'boys')
    • join()
      • 将两个路径合并成一个
      • var1 = '/home/sy'
        var2 = '000.py'
        result = os.path.join(var1,var2)
        print(result)       # /home/sy00.py  , 产生这个结果的原因是,我在window下运行,用的是Linux下的目录,但是拼接它采用的是当前系统默认的路径间间隔符,而window默认的是‘’。
    • splitext()
      • 将一个路径切割成文件后缀和其他两个部分,主要用于获取文件的后缀
      • path = '/home/sy/000.py'
        result = os.path.splitext(path)
        print(result)       # ('/home/sy/000', '.py')
    • getsize()
      • 获取文件的大小
      • path = './000.py'
        result = os.path.getsize(path)
        print(result)   # 1981
    • isfile()  
      • 检测是否是文件
      • path = '/home/sy/000.py'
        result = os.path.isfile(path)
        print(result)
    • isdir()
      • 检测是否是文件夹
      • result = os.path.isdir(path)
        print(result)
    • islink()
      • 检测是否是一个软链接
      • path = '/initrd.img.old'
        result = os.path.islink(path)
        print(result)
    • 关于文件的操作时间
      • #getctime() 获取文件的创建时间 get create time
        #getmtime() 获取文件的修改时间 get modify time
        #getatime() 获取文件的访问时间 get active time
      • import time
        
        filepath = '/home/sy/下载/chls'
        
        result = os.path.getctime(filepath)
        print(time.ctime(result))
        
        result = os.path.getmtime(filepath)
        print(time.ctime(result))
        
        result = os.path.getatime(filepath)
        print(time.ctime(result))
    • exists()
      • 检测某个路径是否真实存在
      • filepath = '/home/sy/下载/chls'
        result = os.path.exists(filepath)
        print(result)
    • isabs()
      • 检测一个路径是否是绝对路径
      • path = '/boys'
        result = os.path.isabs(path)
        print(result)   # True
    • samefile()
      • 检测两个路径是否指向是同一个文件
      • path1 = '/home/sy/下载/001'
        path2 = '../../../下载/001'
        result = os.path.samefile(path1,path2)
        print(result) 
    • ismount()
      • 检查指定参数是否是挂载点
      • os.path.ismount("/mnt/cdrom")

    常用属性

    • environ
      • 获取和设置系统环境变量的内置值
        • 获取, 和os中的os.getenv('PATH')同效果
          • print(os.environ['PATH'])
        • 设置
          • os.environ['PATH'] += ':/home/sy/下载'
            os.system('chls')
  • 相关阅读:
    Android 禁用以及捕捉home键
    android中正确导入第三方jar包
    使用SharedPreferences进行数据存储
    tomcat不安全因素
    spring边边角角
    宏定义
    C++变量对比java变量所占内存
    结构指针的分析
    对结构使用指针
    什么是程序文件?
  • 原文地址:https://www.cnblogs.com/kuxingseng95/p/9447441.html
Copyright © 2020-2023  润新知