搜索当前文件夹下包含指定内容的文件

当前程序主要用到了os.listdir、os.path.isfile、os.path.join以及正则表达式

import os
import re

#根据g_keyWord指定关键字进行搜索
def searchKeyWord(path):
fo = open(path)
lines = fo.readlines()
for line in lines:
objSearch = re.search(g_keyWord, line)
if objSearch:
print(line)

#递归搜索当前文件夹下的所有文件
def SearchFileAndSubDir(path):
listFile = os.listdir(path)
for things in listFile:
nextPath = os.path.join(path,things)
if os.path.isfile(nextPath):
if re.search("\.txt", things):
searchKeyWord(nextPath)
else:
SearchFileAndSubDir(nextPath)

#搜索当前路径
def SpecWordSearch():
cwd = os.getcwd()
SearchFileAndSubDir(cwd)

g_keyWord = "测试"
SpecWordSearch()

 

主要学习应用 python OS操作

os.chdir(path)  改变当前工作目录

os.listdir(path)  返回path指定的文件夹包含的文件或文件夹的名字的列表。

os.makedirs(path[, mode])  递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。

os.mkdir(path[, mode])  以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)。

os.open(file, flags[, mode])   打开一个文件,并且设置需要的打开选项,mode参数是可选的

os.remove(path) 删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。

os.removedirs(path) 递归删除目录。

os.rename(src, dst) 重命名文件或目录,从 src 到 dst

os.renames(old, new) 递归地对目录进行更名,也可以对文件进行更名。

os.rmdir(path)  删除path指定的空目录,如果目录非空,则抛出一个OSError异常。

os.statvfs(path) 获取指定路径的文件系统统计信息

os.unlink(path) 删除文件路径

os.write(fd, str) 写入字符串到文件描述符 fd中. 返回实际写入的字符串长度

os.pardir() 获取当前目录的父目录,以字符串形式显示目录名。

以上摘抄自菜鸟教程,只记录了觉得可能会用到的。

os.path有比较多方法可以调用

os.path.isfile(path)  判断路径是否为文件

os.path.isdir(path)  判断路径是否为目录

 

posted @ 2021-04-12 23:40  loveforthee  阅读(450)  评论(0)    收藏  举报