OS(operating system)直接对操做系统进行操做的接口,功能真是很是强大;容许知识追寻者简要归纳一下总体模块html
os.open(
)方法os.path
模块fileinput
模块tempfile
模块shutil
模块知识的体系很重要,好比不少书籍文章只知如何使用OS对路径进行操做,但总体的OS是什么,包含哪些模块都没有介绍。本文的重点是对path进行操做,参和一些os经常使用函数,结合以前文件操做的专题能够达到很好的效果;python
函数名 | 函数说明 |
---|---|
os.getcwd() | 返回工做目录 |
os.path.abspath(path) | 返回绝对路径 |
os.path.basename(path) | 返回基本名 |
os.path.commonpath(paths) | 返回全部路径中共同的最长的子路径 |
os.path.commonprefix(list) | 返回全部路径中共同的前缀 |
os.path.dirname(path) | 返回当前文件所在的目录 |
os.path.exists(path) | 断定目录是否存在,存在返回True, 不然False |
os.path.getatime(path) | 返回上一次进入路径的时间 |
os.path.getmtime(path) | 返回上一次路径修改的时间 |
os.path.getctime(path) | unix返回元数据修改时间,windows返回路径建立时间 |
os.path.getsize(path) | 返回路径的大小,单位字节 |
os.path.isabs(path) | 断定是不是绝对路径,是返回True,不然False |
os.path.isfile(path) | 断定是不是文件,是返回True,不然False |
os.path.isdir(path) | 断定是不是目录,是返回True,不然False |
os.path.islink(path) | 是不是连接文件,是返回True,不然False |
os.path.join(path, *paths) | 路径拼接 |
os.path.normcase(path) | windows平台路径字母所有转为小写,若是存在斜杆会转为反斜杠 |
os.path.relpath(path, start=os.curdir) | 返回与start比较后的相对路径 |
os.path.split(path) | 以基本名为基准切割路径 |
os.makedirs() | 建立文件夹 |
获取当前工做目录windows
# -*- coding: utf-8 -*- import os """ 获取当前工做 """ print(os.getcwd())
输出:函数
C:\python_work\study_py_base\base\fileopration
返回绝对路径,. 号表示当前目录spa
# -*- coding: utf-8 -*- import os """ 返回绝对路径 """ print(os.path.abspath("."))
输出:操作系统
C:\python_work\study_py_base\base\fileopration
返回基本名,基本名也就是文件的简单名称好比 zszxz.txt;命令行
# -*- coding: utf-8 -*- import os """返回基本名""" print(os.path.basename("C:\python_work\study_py_base\base\fileopration\os_op.py"))
输出:unix
os_op.py
返回共同的路径,最大长度返回;code
# -*- coding: utf-8 -*- import os """ 返回共同的路径 """ print(os.path.commonpath(['/usr/var/lib','/usr/lib']))
返回结果:orm
\usr
返回路径的共同前缀。注意,前缀跟3.4节的共同路径是不一样的东西;
# -*- coding: utf-8 -*- import os """ 返回路径共同前缀 """ print(os.path.commonprefix(['/usr/var/lib','/usr/lib']))
返回结果:
/usr/
返回目录,lib的目录是/usr/var
# -*- coding: utf-8 -*- import os """ 返回目录 """ print(os.path.dirname('/usr/var/lib'))
输出:
/usr/var
断定目录是否存在,存在返回True, 不然False
# -*- coding: utf-8 -*- import os """断定路径是否存在""" print(os.path.exists('/usr/var/lib')) print(os.path.exists('C:\python_work'))
输出:
False True
返回上一次进入路径的时间
# -*- coding: utf-8 -*- import os print(os.path.getatime('C:\python_work'))
输出:
1578921313.4634616
返回上一次路径修改的时间
# -*- coding: utf-8 -*- import os """返回上一次路径修改的时间""" print(os.path.getmtime('C:\python_work'))
输出:
1578921313.4634616
unix返回元数据修改时间,windows返回路径建立时间
# -*- coding: utf-8 -*- import os """unix返回元数据修改时间,windows返回路径建立时间""" print(os.path.getctime('C:\python_work'))
输出:
1577777602.8199444
返回路径的大小,单位字节;
# -*- coding: utf-8 -*- import os """返回路径的大小,单位字节;""" print(os.path.getsize('.'))
输出:
4096
断定是不是绝对路径,是返回True,不然False
# -*- coding: utf-8 -*- import os """ 断定是不是绝对路径""" print(os.path.isabs('.')) print(os.path.isabs('C:\python_work'))
输出:
False True
断定是不是文件,是返回True,不然False
# -*- coding: utf-8 -*- import os """ 断定是不是文件 """ print(os.path.isfile('os_op.py')) print(os.path.isfile('.'))
输出
True False
断定是不是目录,是返回True,不然False
# -*- coding: utf-8 -*- import os print(os.path.isdir('os_op.py')) print(os.path.isdir('.'))
输出:
False True
是不是连接文件,是返回True,不然False, 须要被python运行时环境所支持,不然会一直返回False
# -*- coding: utf-8 -*- import os """是不是连接文件""" print(os.path.islink('os_op.py'))
路径拼接
# -*- coding: utf-8 -*- import os print(os.path.join('usr', 'local','bin'))
输出
usr\local\bin
windows平台路径字母所有转为小写,若是存在斜杆会转为反斜杠,其它平台不改变
# -*- coding: utf-8 -*- import os print(os.path.normcase('/USR/Local/bin'))
输出:
\usr\local\bin
返回与start比较后的相对路径
# -*- coding: utf-8 -*- import os print(os.path.relpath('C:\python_work', 'C:\\'))
输出
python_work
以基本名为基准切割路径
# -*- coding: utf-8 -*- import os print(os.path.split('C:\python_work\study_py_base\base\fileopration\os_op.py'))
输出
('C:\\python_work\\study_py_base\x08ase\x0cileopration', 'os_op.py')
建立文件夹
os.makedirs('C:\mydata\generator\py')