1. os.walk()
功能:用于通过在目录树种游走输出在目录中的文件名,向上或者向下。
语法:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
参数:
- top -- 根目录下的每一个文件夹(包含它自己), 产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】。
- topdown --可选,为True或者没有指定, 一个目录的的3-元组将比它的任何子文件夹的3-元组先产生 (目录自上而下)。如果topdown为 False, 一个目录的3-元组将比它的任何子文件夹的3-元组后产生 (目录自下而上)。
- onerror -- 可选,是一个函数; 它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。
- followlinks -- 设置为 true,则通过软链接访问目录。
返回:无返回值。
实例:
import os
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
输出结果:
./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp
./tmp/test.py
2. os.path.join()
功能:用于路径拼接文件路径。 该函数中可以传入多个路径。
语法:
os.path.join(path1[,path2[,......]])
参数:path -- 路径
返回:返回多个路径拼接后的路径。
3. os.listdir()
功能:用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。
语法:
os.listdir(path)
参数:
- path -- 需要列出的目录路径
返回:返回指定路径下的文件和文件夹列表。
实例:
import os, sys
# 打开文件
path = "/var/www/html/"
dirs = os.listdir( path )
# 输出所有文件和文件夹
for file in dirs:
print (file)
输出结果:
test.htm
stamp
faq.htm
_vti_txt
robots.txt
itemlisting
resumelisting
writing_effective_resume.htm
advertisebusiness.htm
papers
resume