python模块--os
os
os¶
- 对操作系统的调用,模拟对操作系统的一些操作指令
os常用操作¶
- 导入模块
In [14]:
import os
- os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
In [5]:
os.getcwd()
Out[5]:
- os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
In [13]:
os.chdir('/root')
os.getcwd()
Out[13]:
- os.curdir 返回当前目录: ('.')
In [37]:
os.curdir
Out[37]:
- os.pardir 获取当前目录的父目录字符串名:('..')
In [17]:
os.pardir
Out[17]:
- os.makedirs('dirname1/dirname2') 可生成多层递归目录
In [18]:
os.makedirs('/root/a/b/c/d') #递归创建目录
In [24]:
ls /root/a/b/c/ #查看是否创建成功
- os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
In [ ]:
os.removedirs('/root/a/b/c/d') # 若目录为空则删除,并递归到上一层。
- 查看结果
In [30]:
ls /root/a/b/c/d
In [31]:
ls /root/a/b/c
In [32]:
ls /root/a/b
In [34]:
ls /root/a
- os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
In [39]:
os.mkdir('/root/a/d')
In [74]:
os.mkdir('/root/a')
os.mkdir('/root/a/b')
- os.listdir('dirname')列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
In [85]:
os.listdir('/root/')
Out[85]:
In [44]:
os.listdir('/root/a') #查看创建结果
Out[44]:
- os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
In [50]:
os.rmdir('/root/a') #只能删除单击目录,由于a文件夹下有b文件夹所以无法删除。
In [76]:
os.rmdir('/root/a/b') #先删除b文件夹
In [73]:
os.rmdir('/root/a') #再次删除a文件夹
In [86]:
os.listdir('/root/a') #查看删除结果
Out[86]:
- os.stat('path/filename') 获取文件/目录信息
In [95]:
os.stat('/root/untitled.txt')
Out[95]:
- (重要)输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
In [96]:
os.sep
Out[96]:
- (重要)os.linesep 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
In [98]:
os.linesep
Out[98]:
In [101]:
os.path
Out[101]:
- os.environ 获取系统环境变量
In [102]:
os.environ
Out[102]:
- os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
In [106]:
os.name
Out[106]:
- 输出path用于分割文件路径的字符串
In [107]:
os.pathsep
Out[107]:
- os.path.abspath(path) 返回path规范化的绝对路径
In [139]:
os.path.abspath('./os.ipynb')
Out[139]:
- os.path.split(path) 将path分割成目录和文件名分隔成两部分,返回一个元组
In [140]:
os.path.split(os.path.abspath('./os.ipynb'))
Out[140]:
- os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
In [142]:
os.path.dirname(os.path.abspath('./os.ipynb'))
Out[142]:
- os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
In [144]:
os.path.basename(os.path.abspath('./os.ipynb'))
Out[144]:
- os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
In [146]:
os.path.exists('/root') #存在
Out[146]:
In [148]:
os.path.exists('/root/dsd') #不存在
Out[148]:
- os.path.isabs(path) 如果path是绝对路径,返回True
In [151]:
os.path.isabs('/root') #绝对路径
Out[151]:
In [152]:
os.path.isabs('./') # 非绝对路径
Out[152]:
- os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
In [161]:
os.path.isfile('./1.txt') # 已存在文件
Out[161]:
In [160]:
os.path.isfile('/root') # 如果是目录页返回False
Out[160]:
In [163]:
os.path.isfile('./2.txt') #文件不存在也返回False
Out[163]:
- os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
In [166]:
os.path.isdir('/root') # 如果是已存在目录页返回True
Out[166]:
In [168]:
os.path.isdir('./1.txt') # 不能是文件
Out[168]:
In [169]:
os.path.isfile('/ro') # 不存在的文件返回False
Out[169]:
- os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
In [173]:
os.path.join('/','root','b')
Out[173]:
- os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
In [174]:
os.path.getatime('./1.txt')
Out[174]:
- os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
In [176]:
sos.path.getmtime('./1.txt')