得到当前工作目录,即当前Python脚本工作的目录路径:os.getcwd()

返回指定目录下的所有文件和目录名:os.listdir()

递归查询指定路径下的所有文件和目录:os.walk()

函数用来删除一个文件:os.remove()

删除多个目录:osremovedirs(r"c:\python") //略危险,熟练之后再用吧

检验给出的路径是否是一个文件:os.path.isfile() //经常会用

检验给出的路径是否是一个目录:os.path.isdir() //经常会用

判断是否是绝对路径:os.path.isabs()

检验给出的路径是否真实存在:os.path.exists()

返回一个路径的目录名和文件名:os.path.split()

例:import os

os.path.split('/home/swaroop/byte/code/poem.txt')

结果为:('/home/swaroop/byte/code','poem.txt') //就是把路径和文件

名分别列出来显得更加清楚

分离扩展名:os.path.splitext()

获取路径名:os.path.dirname()

获取文件名:os.path.basename()

运行shell命令:os.system()

读取和设置环境变量:os.getenv()与os.putenv()

给出当前平台使用的行终止符:os.linesep windows使用'\r\n',linux使

用'\n'而mountainlion使用的是'\r'

显示你正在使用的平台:os.name 对于windows,他是'nt',而对于linux/unix

,他是'posix'

重命名:os.rename(old,new)

创建多集目录:os.makedirs(r"c:\python\test")

创建单个目录:os.mkdir("test")

获取文件属性 os.stat(file)

修改文件权限和时间戳:os.chmod(file)

终止当前进程:os.exit() //python2.4可用

获取文件大小:os.path.getsize(filename)

文件操作:

os.mknod("test.txt") 创建空文件

fp = open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件

关于open/file的模式:

w 以写的方式打开

a 以追加的模式打开(从EOF开始,必要时创建新文件)

r+ 以读写模式打开

w+ 以读写模式打开 //据说不好用

a+ 以读写模式打开 //我比较喜欢用,读写打开后追加

rb 以二进制读模式打开

wb 以二进制写模式打开

ab 以二进制追加模式打开

rb+ 以二进制读写模式打开

wb+ 以二进制读写模式打开

ab+ 以二进制读写模式打开

fp.read([size]) //size 为读取长度,以byte为单位

fp.readline([size]) //读一行,如果定义了size,有可能返回的只是一行的一

部分

fp.write(str) //把str写到文件中,write()并不会在str后加上一个换行符

fp.writelines(seq) //把seq的内容全部写到文件中(多行一次性写入)。这个

函数也只是忠实地写入,不会在每行后面加任何东西

fp.close()

fp.flush() //把缓冲区的内容写入硬盘

fp.fileno() //返回一个长整形的“文件标签”

fp.isatty() //文件是否是一个终端设备文件(unix系统中的)

fp.tell() //返回当前位置,比如:

fp = open("zhige.txt",'a+') //zhige.txt里的内容为zhigedahaoren

fp.read(3)

c = fp.tell()

print c //会返回显示zhigedahaoren里的第三个字母i

fp.next() //返回下一行,并将文件操作标记位移动到下一行

把一个file用于for...in file 这样的语句时,就是调用next()函数来实现遍历

fp.seek(offset[,whence]) //讲文件的游标移动到offset的位置和tell搭配

做实验看比较明显

fp.truncate([size]) //把文件裁成规定的大小,默认的是裁到当前文件操

作坐标的位置。如果size比文件大小还要大,依据系统的不同,可能是不改变文

件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

目录操作: //感觉可以用 os.system('')里写shell完成

os.mkdir("file") 创建目录

复制文件:

shutil.copyfile("oldfile","newfile") //oldfile和newfile都智能是文件

shutil.copy("oldfile","newfile") //oldfile只能是文件,newfile可

以是文件,也可以是目标目录

复制文件夹:

shutil.copytree("olddir","newdir") //olddir和newdir都只能是目录,

且newdir必须不存在

重命名文件(目录):

os.rename("oldname","newname") //文件或目录都是这条命令

移动文件(目录)

shutil.move("oldpos","newpos")

删除文件

os.remove("file")

删除目录:

os.rmdir("dir") //只能删除空目录

shutil.rmtree("dir") //空目录,有内容的目录都可以删

转换目录:

os.chdir("path") //更换路径

一些详解:

seek(offset,where): where=0从起始位置移动,1从当前位置移动,2

从结束位置移动。当有换行时,会被换行截断。seek()无返回值,故值为None。

tell(): 文件的当前位置,即tell是获得文件指针的位置,受

seek,readline,read,readlines影响,不受truncate影响

truncate(n):从文件的首行字符开始截断,截断文件为n个字符;无n

表示从当前位置起截断;阶段之后n后面的说有字数被删除。其中win下的换行代

表2个字符大小。

readline(n):读入若干行,n表示读入的最长字节数。其中读取的开始

位置为tell()+1。当n为空时,默认只读当前行的内容

readlines 读入所有行内容

read 读入所有行内容

python自动化运维os语法的更多相关文章

  1. python自动化运维学习第一天--day1

    学习python自动化运维第一天自己总结的作业 所使用到知识:json模块,用于数据转化sys.exit 用于中断循环退出程序字符串格式化.format字典.文件打开读写with open(file, ...

  2. python自动化运维篇

    1-1 Python运维-课程简介及基础 1-2 Python运维-自动化运维脚本编写 2-1 Python自动化运维-Ansible教程-Ansible介绍 2-2 Python自动化运维-Ansi ...

  3. python自动化运维之CMDB篇-大米哥

    python自动化运维之CMDB篇 视频地址:复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1Oj_sglTi2P1CMjfMkYKwCQ  ...

  4. Day1 老男孩python自动化运维课程学习笔记

    2017年1月7日老男孩python自动化运维课程正式开课 第一天学习内容: 上午 1.python语言的基本介绍 python语言是一门解释型的语言,与1989年的圣诞节期间,吉多·范罗苏姆为了在阿 ...

  5. 【目录】Python自动化运维

    目录:Python自动化运维笔记 Python自动化运维 - day2 - 数据类型 Python自动化运维 - day3 - 函数part1 Python自动化运维 - day4 - 函数Part2 ...

  6. Python自动化运维的职业发展道路(暂定)

    Python职业发展之路 Python自动化运维工程 Python基础 Linux Shell Fabric Ansible Playbook Zabbix Saltstack Puppet Dock ...

  7. Python自动化运维:技术与最佳实践 PDF高清完整版|网盘下载内附地址提取码|

    内容简介: <Python自动化运维:技术与最佳实践>一书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的 ...

  8. Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...

  9. python自动化运维之路~DAY5

    python自动化运维之路~DAY5 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块的分类 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数 ...

随机推荐

  1. WIFI CAT ET III Adapter Caterpillar ET3 New Arrival

    The old bluetooth cat et adatper iii has stopped production, and you can get the new WIFI CAT Caterp ...

  2. Servlet中request对象得到路径问题

    1.项目源码:假设现在有一个名为JavaWeb的项目,其中有一个名为TestServlet的serlvet,其doGet方法为: protected void doGet(HttpServletReq ...

  3. Consul 常用指令

    Consul 常用指令 # 通告地址 -advertise # 集群节点之间通信地址 -bind # 设置服务器为bootstrap模式.在一个dc中只有一个server处于bootstrap模式.一 ...

  4. JSOIWC2019游记

    世除我WC...都去广二了qaq,就我还在nj ycs至少也去了pkuwc啊 这个JSOIWC2019的内容看起来很水,进入条件简单,但窝啥都不会,肯定垫底 内容清单: 1.26 上午听机房dalao ...

  5. nmon监控数据分析

    性能测试中,各个服务器资源占用统计分析是一个很重要的组成部分,通常我们使用nmon这个工具来进行监控以及监控结果输出. 一. 在监控阶段使用类似下面的命令 ./nmon -f write_3s_20v ...

  6. 用python完成带有进度条的圆周率计算

    代码如下:import math import time scale= s,m,=, print("执行开始".center(scale//2, "-")) s ...

  7. Windows Server 2008 R2 下载地址

    以下资源均来自微软 MSDN,是原汁原味的原版系统资源,值得系统爱好者收藏.以下多数链接是 ed2k 链接,推荐使用国外开源的 eMule 下载,亦可使用迅雷,但使用 eMule 更有利于共享资源. ...

  8. Linux系统初始配置标准化

    Inux系统标准化 配置环境:4台Centos7.6版本的虚拟机,刚刚最小化安装完成,未作任何操作,分别是node1.node2.node3.node4 本文打算利用ansible工具对这四台虚拟机进 ...

  9. 浅谈String中的==和对象中引用对象类型的==

    @Test public void test02() { StringBuffer sb = new StringBuffer(); sb.append('a'); sb.append(11); Sy ...

  10. postman(八):使用newman来执行postman脚本

    通过之前的了解,我们知道postman是基于javascript语言编写的,而导出的json格式的postman脚本也无法直接在服务器运行,它需要在newman中执行(可以把newman看做postm ...