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文件或目录合并成一个路径

最新文章

  1. thinkphp设置session有效时间
  2. My SQL的内连接,外链接查询
  3. php 数组定义、取值和遍历
  4. PHP 对象及其三大特性
  5. jquery禁用右键单击功能屏蔽F5刷新
  6. LINUX HOOK
  7. freemaker小练习
  8. TS相关知识点
  9. linux学习方法之六
  10. MyEclipse-6.5注冊码生成器源代码
  11. win32收不到F10按键消息解决办法
  12. sql查询语句优化需要注意的几点
  13. linux驱动的多种init函数及其调用顺序
  14. 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍
  15. vue+element-ui实现表格checkbox单选
  16. Python之路(第三十五篇) 并发编程:操作系统的发展史、操作系统的作用
  17. BZOJ3351: [ioi2009]Regions(根号分治)
  18. Linux-/etc/rc.local 或 service 中使用 sudo -u xxx cmd 执行失败(sorry, you must have a tty to run sudo)解决办法
  19. e614. Setting the Initial Focused Component in a Window
  20. HRegionServer异常下线问题

热门文章

  1. 用putty玩linux的时候由于以前用window 习惯写完东西按一下ctrl+s 保存
  2. uoj54-bzoj3434-时空穿梭
  3. 【uoj#207】共价大爷游长沙 随机化+LCT维护子树信息
  4. 【bzoj5123】[Lydsy12月赛]线段树的匹配 树形dp+记忆化搜索
  5. 【bzoj4311】向量 线段树对时间分治+STL-vector维护凸包
  6. equals与==区别
  7. 【Java】自动获取某表某列的最大ID数
  8. 解题:POI 2004 Bridge
  9. PID控制算法的C语言实现八&#160;变积分的PID控制算法C语言实现
  10. 51nod 1225 数学