功能
在给定目录以及目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。
程序
import os
def do_dir(d, file):
for f in os.listdir(d): #列出目录下的所以文件及目录
f = os.path.join(d, f) #通过os.path.join()函数,把两个路径合成一个时
if os.path.isfile(f): #判断是否是文件
if os.path.splitext(f)[1] == '.' + file: #判断是否是需要的文件类型
print(os.path.abspath(f)) #打印出绝对路径
else: #如果是目录,递归进行
do_dir(f, file)
def main():
pwd_path = input('请输入绝对目录:')
print('你选择的目录是(如/home/name):%s'%pwd)
file = input('请输入想寻找的文件类型(如py或者html等):')
do_dir(pwd, file)
if __name__ == '__main__':
main()
程序运行截图
程序功能主要函数用法
os.listdir
这个函数是列出目录下的所以文件及目录
os.path.join()
把两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()函数,这样可以正确处理不同操作系统的路径分隔符。
在Linux/Unix/Mac下,os.path.join()返回这样的字符串:part-1/part-2
而Windows下会返回这样的字符串:part-1\part-2
os.path.split()
要拆分路径时,也不要直接去拆字符串,而要通过os.path.split()函数,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名:
>>> os.path.split('/Users/michael/testdir/file.txt') ('/Users/michael/testdir', 'file.txt')
os.path.splitext()
可以直接让你得到文件扩展名
>>> os.path.splitext('/path/to/file.txt') ('/path/to/file', '.txt')
微信公众号:lyishaou
微信公众号
网友评论