Python攻克之路-os模块

os模块
描述:提供对操作系统进行调用的接口

import os

  

getcwd获取当前的工作目录路径

In [2]: os.getcwd()
Out[2]: '/root'

  

chdir修改工作目录

In [5]: os.chdir('/root/py-packages')

In [6]: os.getcwd()
Out[6]: '/root/py-packages'

  

curdir返回当前路径

In [8]: os.curdir
Out[8]: '.'

  

pardir获取当前目录父目录字符串名

In [9]: os.pardir
Out[9]: '..'

  

makedirs创建目录,可递归

In [10]: os.makedirs('abc/cba')
[root@test py-packages]# ls abc/
cba

 

removedirs删除目录,若目录空,则删除,并递归到上一级目录,若也为空,则删除(从cba开始删除,只删除空的)

In [11]: os.removedirs('abc/cba')

 

mkdir生成单个目录

In [2]: os.mkdir('newdir')

 

rmdir删除单级空目录

In [3]: os.rmdir('newdir')

 

listdir列出目录内容(包括隐藏文件,并以列表方式打开)

In [6]: os.listdir('/root/py-packages/')
Out[6]: ['Python-3.6.2.tgz', 'Python-3.6.4.tgz', 'ipython-1.2.1.tar.gz']

In [7]: os.listdir(r'/root/py-packages/') #/n是换行,r是原生字符串,所有的字符都是普通字符不用任何转译
Out[7]: ['Python-3.6.2.tgz', 'Python-3.6.4.tgz', 'ipython-1.2.1.tar.gz']

 

remove只能删除一个文件

In [9]: os.remove('tet')

  

rename重命名文件/目录

In [12]: os.rename('text','texttttttttttttttttttttttttttt')

In [13]: os.listdir()
Out[13]: 
['.bash_logout',
 'texttttttttttttttttttttttttttt',
  'lld-script.py']

 

stat获取文件/目录

In [14]: os.stat('py-packages/ipython-1.2.1.tar.gz')

Out[14]: os.stat_result(st_mode=33188, st_ino=36268443, st_dev=2050, st_nlink=1, st_uid=0, st_gid=0, st_size=8666632, st_atime=1518917350, st_mtime=1514071630, st_ctime=1519614747)

In [15]: ipy_size=os.stat('py-packages/ipython-1.2.1.tar.gz')

In [16]: ipy_size.st_size   #取文件大小
Out[16]: 8666632

 

sep输出操作系统特定的路径分隔符

In [17]: os.sep
Out[17]: '/'

 

linesep输出当前平台使用的行终止符

In [19]: os.linesep
Out[19]: '\n'  #linux下是\n,mac是\r

>>> os.linesep
'\r\n'         #windows是\r\n

 

pathsep输出用于分割文件路径的字符串

In [20]: os.pathsep
Out[20]: ':'

 

name输出字符串指示当前使用平台

In [21]: os.name
Out[21]: 'posix'

  

system运行shell命令,直接显示

In [24]: os.system
Out[24]: <function posix.system>

In [25]: os.system('ls')
anaconda-ks.cfg
cmdline-jmxclient-0.10.3.jar
dead.letter

 

environ获取系统环境变量

In [28]: os.environ
Out[28]: environ({'PATH': '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/python3/bin:/root/bin', 'PWD': '/root', 'LANG': 'en_US.UTF-8', 'HISTCONTROL': 'ignoredups', 'SHLVL': '1', 'HOME': '/root', 'LOGNAME': 'root', 'LESSOPEN': '||/usr/bin/lesspipe.sh %s', '_': '/usr/local/python3/bin/ipython'})

 

path.abspath返回path规范化的绝对路径

In [30]: os.path.abspath('./')
Out[30]: '/root'

In [31]: os.path.abspath('./runDocker.sh')
Out[31]: '/root/runDocker.sh'

  

path.split将path分割成目录和文件名二元组返回

In [32]: os.path.split('/root/runDocker.sh')
Out[32]: ('/root', 'runDocker.sh') #根据最后一个斜杠,把路径和文件名分开

  

path.dirname输出文件的所在的目录路径(当前参数上一级目录的路径)

In [34]: os.path.dirname('./py-packages/ipython-1.2.1.tar.gz')
Out[34]: './py-packages'

In [35]: os.path.dirname('/root/py-packages/ipython-1.2.1.tar.gz')
Out[35]: '/root/py-packages'

  

path.basename返回path最后的文件名

In [37]: os.path.basename('/root/py-packages/ipython-1.2.1.tar.gz')
Out[37]: 'ipython-1.2.1.tar.gz'

  

path.exists 如果path存在,返回ture,否则返回false

In [41]: os.path.exists('/root/py-packages/ipython-1.2.1.tar.gz')
Out[41]: True

In [42]: os.path.exists('/root/py-packages/ipython-1.2.1.tar')
Out[42]: False

In [43]: os.path.exists('/root/py-packag')
Out[43]: False

  

path.isabs如果path是绝对路径,返回true

In [44]: os.path.isabs('/root/py-packages/ipython-1.2.1.tar')
Out[44]: True

  

path.isfile如果path是一个存在的文件,返回true

In [45]: os.path.isfile('/root/py-packages/ipython-1.2.1.r')
Out[45]: False

In [46]: os.path.isfile('/root/py-packages/')  #文件夹直接返回false
Out[46]: False

  

path.isdir如果path是一个存在目录,返回true

In [47]: os.path.isdir('/root/py-packages/')
Out[47]: True

In [48]: os.path.isdir('/root/py-packs/')
Out[48]: False

 

path.join将多个路径组合后返回

In [53]: os.path.join('/hello','world','you')
Out[53]: '/hello/world/you'

In [54]: os.path.join('hello','world','you')
Out[54]: 'hello/world/you'

  

path.getatime返回path所指向的文件或者目录的最后存取时间

In [51]: os.path.getatime('/root/py-packages/ipython-1.2.1.tar.gz')
Out[51]: 1518917350.6455896

  

path.getmtime返回path所指向的文件或者目录的最后修改时间

In [52]: os.path.getmtime('/root/py-packages/ipython-1.2.1.tar.gz')
Out[52]: 1514071630.0

  

 

posted @ 2018-03-27 13:40  Reid21  阅读(136)  评论(0)    收藏  举报