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

浙公网安备 33010602011771号