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的更多相关文章

  1. python初步学习-python函数(一)

    python 函数 函数是组织好的,可重复使用的,用来实现单一或者相关联功能的代码段. 函数能提高应用的模块性和代码的重复利用率. 函数定义 python中函数定义有一些简单的规则: 函数代码块以de ...

  2. python初步学习-python模块之 logging

    logging 许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在python中,我们不需要第三方的日志组件,python为我们提供了简单易用.且 ...

  3. python初步学习-Python模块之 re

    re 正则表达式 python正则表达式在线检验网站 python re正则表达式语法 匹配字符 语法 解释 表达式 匹配实例 . 匹配任意除"\n"以外的任何字符 a.c abc ...

  4. python初步学习-python 模块之 json

    json 模块 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写.一般API返回的数据大多是 JSON.XML,如果返回JSON的话,将获取 ...

  5. python初步学习-python 模块之 sys(持续补充)

    sys sys 模块包括了一组非常实用的服务,内含很多函数方法和变量 sys 模块重要函数变量 sys.stdin 标准输出流 sys.stdout 标准输出流 sys.stderr 标准错误流 sy ...

  6. python初步学习-python模块之 commands

    commands 通过 os.popen() 执行 shell 命令,返回两个对象,一个是 状态码(Int).另一个为命令输出(str) commands.getoutput(cmd) 返回命令执行输 ...

  7. python初步学习-python文件操作

    文件 文件,在python中,他是一种类型的对象,类似前面已经学过的其他数据类型,包括文本的.图片的.音频的.视频的等等,还有不少没见过的扩展名的.事实上,在linux操作系统中,所有的东西都被保存到 ...

  8. python初步学习-python函数 (二)

    几个特殊的函数(待补充) python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda >& ...

  9. python初步学习-python控制流

    语句书写规范 缩进在python语言书写中非常重要,如果缩进不规范,执行程序将会报错 引用维基百科中的叙述: Python開發者有意讓違反了縮排規則的程序不能通過編譯,以此來強迫程序員養成良好的編程習 ...

随机推荐

  1. iOS界面设计之基础控件的学习 --- UITextField

    学习iOS界面设计也有段时间了,每次写到一些基础控件(如:UILable . UITextField)的时候就深觉应该总结一个函数来实现这些基础控件的属性设置,所以下面就是我对UITextField的 ...

  2. kafka describe 显示结果解释

    > bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic Topic:my- ...

  3. 【Linux】- cat命令的源码历史

    转自:Cat 命令的源码历史 以前我和我的一些亲戚争论过计算机科学的学位值不值得读.当时我正在上大学,并要决定是不是该主修计算机.我姨和我表姐觉得我不应该主修计算机.她们承认知道如何编程肯定是很有用且 ...

  4. [翻译]API Guides - Bound Services

    官方文档原文地址:http://developer.android.com/guide/components/bound-services.html 一个Bound Service是一个客户端-服务器 ...

  5. virtio是啥子

    这个山头今天好像要攻占下来了 guest os中的一些特权操作会被hypervhisor给接收,这里一个很重要的认识是:hypervisor是os的os,既然要访问资源,那么就需要经过整机资源的管理者 ...

  6. Spring MVC @RequestParam @RequestHeader @CookieValue用法

    摘要: package com.hust.springmvc1; import org.springframework.stereotype.Controller; import org.spring ...

  7. MySQL---InnoDB引擎隔离级别详解

    原帖:http://www.cnblogs.com/snsdzjlz320/p/5761387.html SQL标准定义了4种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不 ...

  8. HDU4822-Tri-War

    题目 给出一颗树,\(m\)次询问树上不相同的三个点\(A,B,C\).我们称一个点\(x\)被\(A\)占领当且仅当\(dist(A,x)>dist(B,x),dist(A,x)>dis ...

  9. CSS布局-垂直居中问题

    在前端页面的布局方面,很多时候需要用到垂直居中,如果父集元素或子元素的高度是固定的那么垂直居中可以用line-height或者定位 top:50%:margin-top:- height/2 px:实 ...

  10. P1053 篝火晚会

    题目描述 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有nnn个同学,编号从111到nnn.一开始 ...