python初步学习-python模块之 os
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的更多相关文章
- python初步学习-python函数(一)
python 函数 函数是组织好的,可重复使用的,用来实现单一或者相关联功能的代码段. 函数能提高应用的模块性和代码的重复利用率. 函数定义 python中函数定义有一些简单的规则: 函数代码块以de ...
- python初步学习-python模块之 logging
logging 许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪.在python中,我们不需要第三方的日志组件,python为我们提供了简单易用.且 ...
- python初步学习-Python模块之 re
re 正则表达式 python正则表达式在线检验网站 python re正则表达式语法 匹配字符 语法 解释 表达式 匹配实例 . 匹配任意除"\n"以外的任何字符 a.c abc ...
- python初步学习-python 模块之 json
json 模块 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写.一般API返回的数据大多是 JSON.XML,如果返回JSON的话,将获取 ...
- python初步学习-python 模块之 sys(持续补充)
sys sys 模块包括了一组非常实用的服务,内含很多函数方法和变量 sys 模块重要函数变量 sys.stdin 标准输出流 sys.stdout 标准输出流 sys.stderr 标准错误流 sy ...
- python初步学习-python模块之 commands
commands 通过 os.popen() 执行 shell 命令,返回两个对象,一个是 状态码(Int).另一个为命令输出(str) commands.getoutput(cmd) 返回命令执行输 ...
- python初步学习-python文件操作
文件 文件,在python中,他是一种类型的对象,类似前面已经学过的其他数据类型,包括文本的.图片的.音频的.视频的等等,还有不少没见过的扩展名的.事实上,在linux操作系统中,所有的东西都被保存到 ...
- python初步学习-python函数 (二)
几个特殊的函数(待补充) python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda >& ...
- python初步学习-python控制流
语句书写规范 缩进在python语言书写中非常重要,如果缩进不规范,执行程序将会报错 引用维基百科中的叙述: Python開發者有意讓違反了縮排規則的程序不能通過編譯,以此來強迫程序員養成良好的編程習 ...
随机推荐
- iOS界面设计之基础控件的学习 --- UITextField
学习iOS界面设计也有段时间了,每次写到一些基础控件(如:UILable . UITextField)的时候就深觉应该总结一个函数来实现这些基础控件的属性设置,所以下面就是我对UITextField的 ...
- kafka describe 显示结果解释
> bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic Topic:my- ...
- 【Linux】- cat命令的源码历史
转自:Cat 命令的源码历史 以前我和我的一些亲戚争论过计算机科学的学位值不值得读.当时我正在上大学,并要决定是不是该主修计算机.我姨和我表姐觉得我不应该主修计算机.她们承认知道如何编程肯定是很有用且 ...
- [翻译]API Guides - Bound Services
官方文档原文地址:http://developer.android.com/guide/components/bound-services.html 一个Bound Service是一个客户端-服务器 ...
- virtio是啥子
这个山头今天好像要攻占下来了 guest os中的一些特权操作会被hypervhisor给接收,这里一个很重要的认识是:hypervisor是os的os,既然要访问资源,那么就需要经过整机资源的管理者 ...
- Spring MVC @RequestParam @RequestHeader @CookieValue用法
摘要: package com.hust.springmvc1; import org.springframework.stereotype.Controller; import org.spring ...
- MySQL---InnoDB引擎隔离级别详解
原帖:http://www.cnblogs.com/snsdzjlz320/p/5761387.html SQL标准定义了4种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不 ...
- HDU4822-Tri-War
题目 给出一颗树,\(m\)次询问树上不相同的三个点\(A,B,C\).我们称一个点\(x\)被\(A\)占领当且仅当\(dist(A,x)>dist(B,x),dist(A,x)>dis ...
- CSS布局-垂直居中问题
在前端页面的布局方面,很多时候需要用到垂直居中,如果父集元素或子元素的高度是固定的那么垂直居中可以用line-height或者定位 top:50%:margin-top:- height/2 px:实 ...
- P1053 篝火晚会
题目描述 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有nnn个同学,编号从111到nnn.一开始 ...