python初步学习-python模块之 os

python

os

os 模块在运维工作中是很常用的一个模块。通过os模块调用系统命令。os模块可以跨平台使用。

import os的时候,建议使用import os而非from os import *。这样可以避免os.open()不会覆盖内置函数open().

os.name()

判断系统类型

import os

print os.name

# linux和Unix系统会返回`posix`

# windows 系统会返回`nt`

os.system()

执行系统命令的模块,返回命令执行的状态码,开启一个子shell执行命令

import os

cmd = 'ifconfig'

retval = os.system(cmd)

print retval

# 结果为 0

# 表示命令执行成功,否则为失败

os.popen()

popen也是去执行一个命令,不过相比system(cmd),os.popen(command [, mode='r' [, bufsize]]),参数更多,而且是开启一个管道去执行。

  • cmd - 执行的命令
  • mode - 模式权限可以是'r'(默认)或'w'
  • buffering - 0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。(不明白????)

import os

cmd = 'mkdir nwdir'

a = os.popen(cmd)

print a

print type(a)

#返回结果

#<os._wrap_close object at 0x105af0860>

#<class 'os._wrap_close'>

os.listdir(path)

打印指定目录的文件,返回一个列表

import os

a = os.listdir('/tmp')

print a

os.getcwd()

返回当前绝对路径,返回类型为str

import os

a = os.getcwd()

print a

os.chdir(path)

改变当前路径

import os

print os.getcwd()

os.chdir(/tmp/aaa)

print os.getcwd()

os.mkdir()

mkdir(path [, mode=0755])

默认权限是0755
如果目录已存在,会异常OSError

os.remove(path)

删除文件,只能删除文件

os.rmdir(path)

删除目录,只能删除目录

os.path

该模块主要是针对路径的操作。

os.path.abspath(path)

返回绝对路径,主要有引号

import os

print os.path.abspath('.')

#结果

D:\Python\project

os.path.basename(path)

返回文件名,类似linux 中的basename命令

import os

print os.path.basename('D:\Python\project')

#结果

project

os.path.dirname(path)

返回文件路径,不包含文件名,类似linux中的dirname命令

import os

print os.path.dirname('D:\Python\project')

#结果

D:\Python

os.path.exists(path)

判断路径是否存在,存在返回True,不存在返回False

a = 'D:\Python\project11111'

print os.path.exists(a)

#结果

False

类似这种:

命令说明
os.path.isfile判断是否是文件
os.path.isdir判断是否是目录
os.path.isline判断是否是个链接文件
os.path.ismount判断是否是挂载点
os.path.isabs判断是否是绝对路径

os.path.join(path1,path2)

把 path1、path2文件或目录合并成一个路径

以上是 python初步学习-python模块之 os 的全部内容, 来源链接: utcz.com/z/387859.html

回到顶部