python初步学习-python模块之 os
2024-10-19 00:23:24
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文件或目录合并成一个路径
最新文章
- thinkphp设置session有效时间
- My SQL的内连接,外链接查询
- php 数组定义、取值和遍历
- PHP 对象及其三大特性
- jquery禁用右键单击功能屏蔽F5刷新
- LINUX HOOK
- freemaker小练习
- TS相关知识点
- linux学习方法之六
- MyEclipse-6.5注冊码生成器源代码
- win32收不到F10按键消息解决办法
- sql查询语句优化需要注意的几点
- linux驱动的多种init函数及其调用顺序
- 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍
- vue+element-ui实现表格checkbox单选
- Python之路(第三十五篇) 并发编程:操作系统的发展史、操作系统的作用
- BZOJ3351: [ioi2009]Regions(根号分治)
- Linux-/etc/rc.local 或 service 中使用 sudo -u xxx cmd 执行失败(sorry, you must have a tty to run sudo)解决办法
- e614. Setting the Initial Focused Component in a Window
- HRegionServer异常下线问题
热门文章
- 用putty玩linux的时候由于以前用window 习惯写完东西按一下ctrl+s 保存
- uoj54-bzoj3434-时空穿梭
- 【uoj#207】共价大爷游长沙 随机化+LCT维护子树信息
- 【bzoj5123】[Lydsy12月赛]线段树的匹配 树形dp+记忆化搜索
- 【bzoj4311】向量 线段树对时间分治+STL-vector维护凸包
- equals与==区别
- 【Java】自动获取某表某列的最大ID数
- 解题:POI 2004 Bridge
- PID控制算法的C语言实现八&#160;变积分的PID控制算法C语言实现
- 51nod 1225 数学