1. os与sys模块的官方解释如下:
-
os
This module provides a portable way of using operating system dependent functionality.这个模块提供了一种方便的使用操作系统函数的方法。
-
sys
This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.这个模块可供访问由解释器使用或维护的变量和与解释器进行交互的函数。
2. os 库常用函数及说明如下:
函数 | 说明 |
---|---|
os. name | 返回当前使用平台的代表字符,Windows用’nt’表示,Linux用’posix’表示 |
os.getcwd() | 返回当前工作目录 |
os.getenv(‘PATH’) | 读取环境变量 |
os.putenv(‘PATH’, ‘home/ubuntu’) | 设置环境变量 临时增加仅对当前脚本有效 |
os.rename(“oldname”, “newname”) | 重命名文件(目录).文件或目录都是使用这条命令 |
os.renames(src,dst) | 递归式的给文件或文件名改名 |
os.system() | 运行shell命令 |
os.exit() | 终止当前进程 |
os.walk(path) | 列举path下的所有文件、文件夹 |
os.curdir | 返回当前目录(’.’) |
os.listdir(path) | 返回path目录下所有文件列表 |
os.mkdir(path) | 创建path目录(只能创建一级目录,如’F:\XXX\WWW’),在XXX目录下创建WWW目录 |
os.makedirs(path) | 创建多级目录(如’F:\XXX\SSS’),在F盘下创建XXX目录,继续在XXX目录下创建SSS目录 |
os.remove(path) | 删除文件(必须是文件) |
os.rmdir(path) | 删除path目录(只能删除一级目录,如’F:\XXX\SSS’),只删除SSS目录, 注:删除非空的文件夹将异常 |
os.removedirs(path) | 删除多级目录(如’F:\XXX\SSS’),必须为空目录,删除SSS、FFF目录, 注:文件夹路径不能以’/'结束 |
os.chdir(path) | 将当前工作目录更改为指定路径path |
os.stat(file) | 获得文件属性 |
os.chmod(file) | 修改文件权限和时间戳 |
os.path.getsize(path) | 返回文件的大小,若是目录则返回0 |
os.path.exists(path) | 判断path是否存在,存在返回True,不存在返回False |
os.path.isfile(path) | 判断path是否为文件,是返回True,不是返回False |
os.path.isdir(path) | 判断path是否目录,是返回True,不是返回False |
os.path.getmtime(path) | 返回文件或目录的最后修改时间,结果为秒数 |
os.path.getatime(path) | 返回文件或目录的最后访问时间,结果为秒数 |
os.path.getctime(path) | 返回文件或目录得创建时间,结果为秒数 |
os.path.split(path) | 将path的目录和文件名分开为元组 |
os.path.join(path1, path2, …) | 将path1,怕path2,…进行组合,若path2为绝对路径,则会将path1删除 |
os.path.dirname(path) | 返回path中的目录(文件夹部分),结果不包含’’ |
os.path.basename(path) | 返回path中的文件名 |
os.path.abspath(path) | 返回path的绝对路径 |
os.path.normpath(path) | 规范path字符串形式 |
os.path.isabs() | 判断是否为绝对路径 |
os.path.splitext() | 分离文件名和扩展名 |
os.sep | 返回当前操作系统特定的路径分隔符,windows中是 / |
os.linesep | 返回当前平台使用的行终止符 Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’ |
os.extsep | 返回文件名与扩展名的分隔符, windows中是 . |
os.pathsep | 目录分隔符,windows中是 ; |
os.walk(path) | 递归返回path下的目录(包括path目录)、子目录、文件名的三元组 |
import os
os.name
Out[2]: 'nt'
os.getcwd
Out[3]: <function nt.getcwd>
os.getcwd()
Out[4]: 'C:\\Users\\wohu'
os.sep
Out[5]: '\\'
os.linesep
Out[6]: '\r\n'
os.extsep
Out[7]: '.'
os.stat(u"E:\Blog\wohu\source\_posts\python-os-库的使用.md")
Out[10]: nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=5068L, st_atime=1525443798L, st_mtime=1525444928L, st_ctime=1525443798L)
In [37]: import os
In [38]: file_extension = os.path.splitext('./data/pytorch/test.py')
In [39]: file_extension
Out[39]: ('./data/pytorch/test', '.py')
In [40]: f_path, f_name = os.path.split('./data/pytorch/test.py')
In [41]: f_path
Out[41]: './data/pytorch'
In [42]: f_name
Out[42]: 'test.py'