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開發者有意讓違反了縮排規則的程序不能通過編譯,以此來強迫程序員養成良好的編程習 ...
随机推荐
- Matlab中TCP通讯-实现外部程序提供优化目标函数解
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Matlab中TCP通讯-实现外部程序提供优化目标函数解 本文地址:http://te ...
- mac下面安装Navicat Premium 12.0.24 for mac已破解中文亲测可用
链接:https://pan.baidu.com/s/17HQ7dsCun2cSJGRpdP9yXA 密码:hwq5 Navicat_Premium_mac 最新版 12.0.24(原版是英文的) ...
- linux 上传下载
xshell yum就是傻瓜式的安装软件,你要装什么,yum什么就行了,红帽系统才有yum,乌班图和debian是没有的 输入命令:sudo yum -y install lrzsz rz 上传 从 ...
- .net 下SSE使用
HTML5有一个Server-Sent Events(SSE)功能,允许服务端推送数据到客户端.(通常叫数据推送),基于数据推送是这样的,当数据源有新数据,它马上发送到客户端,不需要等待客户端请求.这 ...
- bzoj2820-GCD
题意 \(T\le 10^4\) 次询问 \(n,m\) ,求 \[ \sum _{i=1}^n\sum _{j=1}^m[gcd(i,j)\text { is prime}] \] 分析 这题还是很 ...
- 【JavaScript】table显示问题
table有时显示出问题,解决办法如下: 添加<thead></thead>和<tbody></tbody>在table的外面添加<div> ...
- 洛谷 P2015 二叉苹果树
老规矩,先放题面 题目描述 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端 ...
- CodeForces - 955B(用char会超时。。。)
#include <bits/stdc++.h> #define mem(a, b) memset(a, b, sizeof(a)) using namespace std; , INF ...
- Intel WIDI (Wireless Display) 相关技术知识分析
一. WIFI 1.如何查找WIFI设备 非p2p设备 Beacons 包(同步,SSID) 速率 1M/s 2.4G HZ 13个信道,1,6,11三个信道不重叠 2.P2P 认证 客户端在每个通道 ...
- [AT2369] [agc013_c] Ants on a Circle
题目链接 AtCoder:https://agc013.contest.atcoder.jp/tasks/agc013_c 洛谷:https://www.luogu.org/problemnew/sh ...