本节主要内容:
python os模块实现目录操作。
python的OS模块
- 目录操作
1. 目录操作
- mkdir(path[, mode=权限]) create单级目录
- makedirs(path[, mode=权限]) create多级目录
- rmdir(path) 删单级
- removedirs(path) 删多级, 前提是空的
- listdir(path) 指定path的目录及文件
- getcwd() 当前path
- chdir(path) 切换当前path
- walk(top, topdown=True, onerror=None)
遍历目录树
2. 举例
复制代码 代码示例:
>>> import os
>>> os.getcwd()
'E:desktoppythonpy_src'
>>> os.mkdir("new_dir")
>>> os.chdir(".new_dir")
>>> os.getcwd()
'E:desktoppythonpy_srcnew_dir'
>>> os.mkdir("dir_A")
>>> os.mkdir("dir_B")
>>> os.makedirs("dir_Cdir_C_A")
>>> for dir in os.walk(".") :
... print dir
...
('.', ['dir_A', 'dir_B', 'dir_C'], [])
('.dir_A', [], [])
('.dir_B', [], [])
('.dir_C', ['dir_C_A'], [])
('.dir_Cdir_C_A', [], [])
>>> os.rmdir("dir_A")
>>> os.chdir("..")
>>> os.getcwd()
'E:desktoppythonpy_src'
>>> os.removedirs(".new_dirdir_Cdir_C_A")
>>> os.removedirs(".new_dirdir_B")
3. 递归目录
- os.walk
>>> gen = os.walk("E:desktoppythonpy_src 7")
>>> for path,dir,filename in gen :
... print path, dir, filename
...
- 自定义递归 07Traversedirs.py
- listDirs()
- treeDirs()
复制代码 代码示例:
#!/bin/python
#
#
import os
def listDirs(dirPath) :
pathLists = os.listdir(dirPath)
for path in pathLists :
#abspath = dirPath + "" + path
abspath = os.path.join(dirPath, path)
print abspath
if os.path.isdir(abspath) :
listDirs(abspath)
def treeDirs(dirPath, prefix="|--") :
pathLists = os.listdir(dirPath)
for path in pathLists :
#abspath = dirPath + "" + path
abspath = os.path.join(dirPath, path)
print prefix + path
if os.path.isdir(abspath) :
treeDirs(abspath, " " + prefix)
if __name__ == "__main__" :
dirPath = "E:desktoppythonpy_src 7"
listDirs(dirPath)
print "#" * 50
treeDirs(dirPath, "|--"