python专题知识追寻者对OS的理解

一 前言

OS(operating system)直接对操做系统进行操做的接口,功能真是很是强大;容许知识追寻者简要归纳一下总体模块html

  1. 若是要对文件进行读写可使用os.open()方法
  2. 若是要对文件路径进行操做可使用os.path模块
  3. 若是要对全部文件的全部行读取到命令行进行操做可使用fileinput模块
  4. 若是要建立临时文件可使用tempfile模块
  5. 若是要对高级文件或者目录进行处理可使用shutil模块

知识的体系很重要,好比不少书籍文章只知如何使用OS对路径进行操做,但总体的OS是什么,包含哪些模块都没有介绍。本文的重点是对path进行操做,参和一些os经常使用函数,结合以前文件操做的专题能够达到很好的效果;python

二 OS经常使用函数介绍

函数名 函数说明
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() 建立文件夹

三 函数具体操做

3.1 os.getcwd()

获取当前工做目录windows

# -*- coding: utf-8 -*-
import os

""" 获取当前工做 """
print(os.getcwd())

输出:函数

C:\python_work\study_py_base\base\fileopration

3.2os.path.abspath(path)

返回绝对路径,. 号表示当前目录spa

# -*- coding: utf-8 -*-
import os

""" 返回绝对路径 """
print(os.path.abspath("."))

输出:操作系统

C:\python_work\study_py_base\base\fileopration

3.3 os.path.basename(path)

返回基本名,基本名也就是文件的简单名称好比 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

3.4os.path.commonpath(paths)

返回共同的路径,最大长度返回;code

# -*- coding: utf-8 -*-
import os

""" 返回共同的路径 """
print(os.path.commonpath(['/usr/var/lib','/usr/lib']))

返回结果:orm

\usr

3.5os.path.commonprefix(list)

返回路径的共同前缀。注意,前缀跟3.4节的共同路径是不一样的东西;

# -*- coding: utf-8 -*-
import os

""" 返回路径共同前缀  """
print(os.path.commonprefix(['/usr/var/lib','/usr/lib']))

返回结果:

/usr/

3.6 os.path.dirname(path)

返回目录,lib的目录是/usr/var

# -*- coding: utf-8 -*-
import os

""" 返回目录 """
print(os.path.dirname('/usr/var/lib'))

输出:

/usr/var

3.7 os.path.exists(path)

断定目录是否存在,存在返回True, 不然False

# -*- coding: utf-8 -*-
import os

"""断定路径是否存在"""
print(os.path.exists('/usr/var/lib'))
print(os.path.exists('C:\python_work'))

输出:

False
True

3.8 os.path.getatime(path)

返回上一次进入路径的时间

# -*- coding: utf-8 -*-
import os

print(os.path.getatime('C:\python_work'))

输出:

1578921313.4634616

3.9 os.path.getmtime(path)

返回上一次路径修改的时间

# -*- coding: utf-8 -*-
import os

"""返回上一次路径修改的时间"""
print(os.path.getmtime('C:\python_work'))

输出:

1578921313.4634616

3.10 os.path.getctime(path)

unix返回元数据修改时间,windows返回路径建立时间

# -*- coding: utf-8 -*-
import os

"""unix返回元数据修改时间,windows返回路径建立时间"""
print(os.path.getctime('C:\python_work'))

输出:

1577777602.8199444

3.11 os.path.getsize(path)

返回路径的大小,单位字节;

# -*- coding: utf-8 -*-
import os

"""返回路径的大小,单位字节;"""
print(os.path.getsize('.'))

输出:

4096

3.12 os.path.isabs(path)

断定是不是绝对路径,是返回True,不然False

# -*- coding: utf-8 -*-
import os

""" 断定是不是绝对路径"""
print(os.path.isabs('.'))
print(os.path.isabs('C:\python_work'))

输出:

False
True

3.13 os.path.isfile(path)

断定是不是文件,是返回True,不然False

# -*- coding: utf-8 -*-
import os

""" 断定是不是文件 """
print(os.path.isfile('os_op.py'))
print(os.path.isfile('.'))

输出

True
False

3.14 os.path.isdir(path)

断定是不是目录,是返回True,不然False

# -*- coding: utf-8 -*-
import os
print(os.path.isdir('os_op.py'))
print(os.path.isdir('.'))

输出:

False
True

3.15 os.path.islink(path)

是不是连接文件,是返回True,不然False, 须要被python运行时环境所支持,不然会一直返回False

# -*- coding: utf-8 -*-
import os

"""是不是连接文件"""
print(os.path.islink('os_op.py'))

3.16 os.path.join(path, *paths)

路径拼接

# -*- coding: utf-8 -*-
import os

print(os.path.join('usr', 'local','bin'))

输出

usr\local\bin

3.17 os.path.normcase(path)

windows平台路径字母所有转为小写,若是存在斜杆会转为反斜杠,其它平台不改变

# -*- coding: utf-8 -*-
import os
print(os.path.normcase('/USR/Local/bin'))

输出:

\usr\local\bin

3.18 os.path.relpath(path, start=os.curdir)

返回与start比较后的相对路径

# -*- coding: utf-8 -*-
import os
print(os.path.relpath('C:\python_work', 'C:\\'))

输出

python_work

3.19 os.path.split(path)

以基本名为基准切割路径

# -*- 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')

3.20 os.makedirs()

建立文件夹

os.makedirs('C:\mydata\generator\py')
相关文章
相关标签/搜索