搜索当前文件夹下包含指定内容的文件
当前程序主要用到了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) 判断路径是否为目录

浙公网安备 33010602011771号