中OS模块的常见20种用法总结 前言
“OS”是“ ”的缩写, 从名称来看, OS模块所提供的, 是各类程序同操作系统进行交互的接口。运用OS模块, 一方面能够便利地与操作系统交互, 另一方面还可极大提升代码的可移植性。其中的OS模块给出了跟操作系统交互的函数, 操作系统属于此、标准实用的程序模块。该模块供给了一类好用的办法, 利用这类依赖操作系统的函数的途径便是此办法。OS模块有着极为丰富的办法, 用于处理文件以及目录。
1、os.()
概述
os.() 方法用于返回当前工作目录。
语法
()方法语法格式如下:
os.getcwd()参数: 无
返回值:返回当前进程的工作目录。
2、os.()
概述
.os.() 这一方法, 被用来去返回, 指定的那个文件夹, 所包含的文件, 或者文件夹的名字, 所构成的列表。此列表, 是按照字母顺序排列的。它并不把 . 和… 包含在内, 即便它处于文件夹之中。
os.listdir(path)参数: path – 需要列出的目录路径
返回值: 返回指定路径下的文件和文件夹列表。
实例:
import os path = os.getcwd() dirs = os.listdir(path) for file in dirs: print(file)3、os.chdir()
概述
‘os.chdir()’此方法, 是用来将当前工作的那个目录转而变更为设定好的指定路径的。
语法
chdir()方法语法格式如下:
os.chdir(path)参数:path – 要切换到的新路径。
返回的那个值是这样的: 一旦允许进行访问, 那么就返回True, 不然在这种情况下就返回False。
实例:
import os path = "/tmp" # 查看当前工作目录 retval = os.getcwd() print ("当前工作目录为", retval) # 修改当前工作目录 os.chdir(path) # 查看修改后的工作目录 retval = os.getcwd() print ("目录修改成功", retval)执行以上程序输出结果为:
当前工作目录为 /www 目录修改成功 /tmp4、os.mkdir()
概述
用于创建目录的 os.mkdir() 方法, 是以数字权限模式来进行的, 其中默认的模式是 0777, 此为八进制哦。
要是目录存在多级情况, 那就去创建最后一级, 但若最后一级目录它的上级目录当中存在不存在的情况, 就会抛出一个。
语法
mkdir()方法语法格式如下:
os.mkdir(path[, mode])参数:
path – 要创建的目录,可以是相对或者绝对路径。
mode – 要为目录设置的权限数字模式
返回值:
该方法没有返回值。
实列
以下实例演示了 mkdir() 方法的使用:
import os here = os.getcwd() # 创建的目录 path = "/hourly" os.mkdir(here + path, 0755 ) print ("目录已创建")5、os.()
概述
os.() 方法用于递归创建多层目录。
假设子目录创建出现失败状况, 或者该子目录已然存在, 那么就会抛出一个名为Error 183, 且指向目录已经存在的异常错误的、特定的异常, 此异常即为当子目录创建失败从而导致目录已存在时抛出的异常。
要是第一个参数path仅仅只有一级, 也就是仅仅去创建一层目录, 那么这和mkdir()函数是一样的。
语法
()方法语法格式如下:
os.makedirs(name, mode=511, exist_ok=False)参数
path – 需要递归创建的目录,可以是相对或者绝对路径。
mode, 也就是权限模式, 其默认的模式是511, 这里的511是八进制的表示。
是否于目录存在之际触发异常, 若为False(此乃默认值), 那么在目标目录已然存在的情形下触发异常, 假若是True, 那么在目标目录已然存在的情形下不会触发异常。
返回值
该方法没有返回值。
实列:
import os # 创建的目录 path = "home/monthly/daily" os.makedirs(path, 0o777); print ("路径被创建")6、os.rmdir()
概述
os.rmdir()方法是用来在指定特定路径之处删除目录的, 它存在这样一种情况, 那就是仅当这个文件夹呈现为空的状态时才行, 要不的话, 就会抛出。
语法
rmdir()方法语法格式如下:
os.rmdir(path)参数
path – 要删除的目录路径
返回值
该方法没有返回值
实例
import os # 列出目录 print("目录为:",os.listdir(os.getcwd())) # 删除路径 os.rmdir("mydir") # 列出重命名后的目录 print ("目录为:", os.listdir(os.getcwd()))执行以上程序输出结果为:
目录为:['a1.txt','resume.doc','a3.py','mydir'] 目录为:['a1.txt','resume.doc','a3.py']7、os.()
概述
os.() 方法被用来删除指定路径那儿的文件, 要是指定的路径属于一个目录, 就会抛出。
在Unix, 中有效
语法
()方法语法格式如下:
os.remove(path)参数
path – 要移除的文件路径
返回值
该方法没有返回值。
实例
以下实例演示了 () 方法的使用:
import os # 列出目录 print("目录为:", os.listdir(os.getcwd())) # 移除 os.remove("aa.txt") # 移除后列出目录 print("移除后目录为:", os.listdir(os.getcwd()))执行以上程序输出结果为:
目录为: ['a1.txt', 'aa.txt', 'demo.py'] 移除后目录为:['a1.txt', 'demo.py']8、os.()
概述
(**os.()**)方法于子 shell 之中执行命令(字符串), 其通过调用标准 C 函数()予以实现, 且具备相同限制, 若该命令产生任何输出, 便会将其传送至解释器标准输出流, 无论何时运用此方法, 均会开启操作系统相应 shell 并于其上执行命令。
用法: os.()
参数:
: 它是字符串类型,告诉执行哪个命令。
返回值, 于 Unix 而言, 返回值为进程的退出状态, 于上, 返回值乃系统 shell 程序在运行命令后所返回的值。
实例:
import os # Command to execute # Using Windows OS command cmd = 'date' # Using os.system() method os.system(cmd)9、os.sep
概述
os.sep展现着文件路径里的分隔符, 于各异的操作系统当中, 文件路径的分隔符会存在差异, 在Unix以及Linux所属系统里, 分隔符常常是"/“, 于相应系统内, 分隔符通常是”"。
os.sep所具备的作用是充当文件路径分隔符, 其目的在于对文件路径字符串予以组织。
import os file_path = "data" + os.sep + "file.txt" print(file_path)执行以上程序输出结果为:
data\file.txt10、与操作系统路径相关的os.path模块, 存在着1) 名为如os.path.isdir()这样的内容。
概述
os.path.isdir()这个方法, 被用来检查指定的路径是不是现有目录。这个方法会遵循符号链接, 也就是说, 倘若指定的路径是指向目录的符号链接, 那么该方法将会返回True。
用法: os.path.isdir(path)
参数:
path:代表文件系统路径的path-like对象。
返回类型: 该方法所返回的是属于布尔型的那样一种布尔值。于指定路径为现有目录的情形下, 此方法会返回True, 不然的话就返回False。
2) os.path.()
概述
os.path.() 被用来查看指定的路径是不是现存的常规文件。
用法: os.path.(path)
参数:
Path, 它所代表的是那种用于表示文件系统路径的path - like对象, 而path - like对象呢, 则是一种用来表示路径的, 不是字符串就是字节对象的东西。
返回类型, 此方法返回的是布尔型的值,是布尔值。要是指定的路径是现存的常规文件,那此方法便返回 True, 不然就返回 False。
3) os.path.split()
概述
采用os.path.split() 方法, 其作用是把路径名称划分成一对, 包含头部与尾部, 于此情境下, tail乃最终路径名构成部分, head则属致使该名称产生的全部内容。
用法: os.path.split(path)
参数:
path, 它指的是那种代表文件系统路径的对象, 这种对象是path - like类型的。那path - like对象呢, 是一种能表示路径的对象, 它要么是str类型, 要么是bytes类型。
返回类型:此方法返回一个表示指定路径名的头和尾的元组。
4) os.path.()
概述
os.path.()这个方法, 被用来把路径名称拆分成一对, 其中一个是驱动器部分, 另一个是尾部, 在这儿, 驱动器要么是安装点, 要么就是空字符串, 剩下构成路径其余部分的就是那个 叫作尾部的内容。
处于未运用驱动器规范的诸多系统之上, 驱动器会一直呈现为空字符串的状况, 给出一些这般情形的例子, 像UNIX这种系统。
处于上方的情况下, os.path这个括号内填写东西的具体某个称之为方法的值, 它会把给定的那个路径的名称, 区分成驱动器或者UNC共享点当作驱动器看待,并且将除此之外的其他路径的组成部分当作尾部。
用法: os.path.(path)
参数:
path:代表文件系统路径的path-like对象。 path-like对象是表示路径的str或bytes对象。
返回类型, 这个方法返回出来的是一个元组, 此元组能够表示给定路径名的驱动器和其尾部。
5) os.path.join()
概述
os.path.join() 方法, 以很有点莫测的方式, 把一个甚至超过一个的路径组件给连接起来。这个方法呢, 会把各个路径组成成分, 在每个不是空的部分之后, 跟最后一个路径组成部分, 刚好借着一个代表目录分隔的符号(/)给串联到一块儿。要是要去连接的最后一个路径组件是没有内容的那种, 那就会把目录分隔符号(‘/’)径直放置在最末尾处。
要是路径组件呈现绝对路径的样子, 那就会舍弃所有之前连起来的组件, 然后从绝对路径组件那里接着进行连接。
其用法为, os.path.join, 它用于连接路径, 其中有path, 还有*paths。
参数:
path:代表文件系统路径的path-like对象。
paths: path-like对象, 其代表了文件系统路径, 它表示的是要连接起来的路径组件。
path-like对象是表示路径的字符串或字节对象。
注意, 函数定义这儿, 所包含的特殊语法是* args, 此处具体来说是* paths, 它起到的作用, 是朝着函数传达可变数量的参数。
返回类型:此方法返回一个表示串联路径组件的字符串。
6) os.path.()
概述
os.path.()这个方法, 被用来检查指定的路径是不是存在, 此方法还能够用于检查给定的路径有没有引用打开的文件描述符。
用法: os.path.(path)
参数:
path:代表文件系统路径的path-like对象。 path-like对象是表示路径的字符串或字节对象。
返回类型是, 此方法返回的是布尔型的那种布尔值。要是路径存在的话,那此方法返回True, 不然返回False。
7) os.path.()
概述
os.path 里的 (path) 这项方法, 是被用来返回文件的绝对路径的,或者是返回目录的绝对路径的。
语法
格式如下:
os.path.(path)
参数
路径: 它所意味的呢, 是那个要对于去取得绝对路径而言的相对路径状态, 其范围, 既能够是文件形式, 又可是目录形式。
返回值:返回获取到的绝对路径。
8) os.path.()
概述
os.path.()方法用以获取指定路径里的基本名称, 该方法于内部运用os.path.split()方法把指定路径划分成一对(头, 尾), 且会将指定的路径给予拆分并返回尾部(头, 尾)对。
用法: os.path.(path)
参数:
path:代表文件系统路径的path-like对象。
返回类型, 此方法返回一个字符串值, 此字符串值表示指定路径的 基本名称。
9) os.path.()
概述
os.path.() 方法用于从指定路径获取目录名称。
用法: os.path.(path)
参数:
path:代表文件系统路径的path-like对象。
返回类型, 这个方法会返回一个字符串值, 此字符串值是用于表示指定路径当中的目录名称。
10) os.path.()
概述
os.path.()方法用以把路径名划分成成对的根与扩展名。于此处, ext代表扩展, 带有指定路径的扩展部分, 而root是除去ext之外的所有部分。要是指定的路径不存在扩展名, 那么ext为空。倘若指定路径有着前置时间(“。”), 它会被忽略。
用法: os.path.(path)
参数:
path:代表文件系统路径的path-like对象。 path-like对象是表示路径的str或bytes对象。
返回的类型是, 此方法所返回的是, 一个代表指定路径名的根这一部分, 以及扩展部分一同所构成的元组。
11) os.path.()
概述
os.path.(针对path)返回文件大小, 要是文件不存在, 便返回错误。
以上os.path的模块方法实例展示
import os print(__file__) print('---------- os.path模块------------') print(os.path.isdir('hourly')) # 返回布尔型的布尔值。如果指定的路径是现有目录,则此方法返回True,否则返回False。 print(os.path.isfile('a1.txt')) # 返回布尔型的布尔值。如果指定的路径是现有文件,则此方法返回True,否则返回False。 print(os.path.split('D:/PythonCodes/Test/a1.txt')) # 分割文件名与路径 print(os.path.splitdrive(os.getcwd())) # 返回一个表示给定路径名的驱动器和尾部的元组。 print(os.path.join('Demo', 'test', 'a1.txt')) # 将目录和文件名合成一个路径 print(os.path.exists('hourly')) # 判断路径path是否存在,存在返回True,否则返回False print(os.path.abspath(__file__)) # 输出绝对路径 print(os.path.basename(__file__)) # 返回文件名 print(os.path.dirname(__file__)) # 返回目录路径 print(os.path.splitext(__file__)) # 返回一个表示指定路径名的根和扩展部分的元组。 print(os.path.getsize(__file__)) # 输出文件大小(字节为单位) print('---------- os.path模块------------')执行以上程序输出结果为:
D:\PythonCodes\Test\test.py ---------- os.path模块------------ True True ('D:/PythonCodes/Test', 'a1.txt') ('D:', '\\PythonCodes\\Test') Demo\test\a1.txt True D:\PythonCodes\Test\test.py test.py D:\PythonCodes\Test ('D:\\PythonCodes\\Test\\test', '.py') 1398 ---------- os.path模块------------