python查找文件内容_python 检索文件内容工具

1 #coding=utf-8

2

3 importos4 importsys5 importtime6

7 #private:

8 defcheckSuffix(strFileName, strCompareSuffix):9 strPreFileName = ''

10 strFileSuffix = ''

11 bIsCheckOk =False12 strArray = strFileName.split('.')13 if len(strArray) > 1:14 strPreFileName =strArray[0]15 strFileSuffix = strArray[1]16 #print(strFileSuffix)

17 #print(strCompareSuffix)

18 if strCompareSuffix == '*' or strFileSuffix ==strCompareSuffix:19 bIsCheckOk =True20 returnbIsCheckOk, strPreFileName21

22 defreadFileName(file_dir):23 for root, dirs, files inos.walk(file_dir):24 returnfiles,dirs, root25 return '', '', ''

26

27 deffindString(pathFile, findKey):28 #print("open pathFile:", pathFile)

29 fp = open(pathFile, "r", encoding='utf-8')30 strr =fp.read()31 if(strr.find(findKey) != -1):32 returnTrue33 returnFalse34

35 defstartFind(files, dirs, root, findKey, strSuffix):36 for fileName infiles:37 try:38 bIsCheckOk, strPreFileName =checkSuffix(fileName, strSuffix)39 if bIsCheckOk ==False:40 #print("fileName", fileName, " is not suffx :", strSuffix)

41 continue

42 if(findString(root + "\\" +fileName, findKey)):43 returnTrue, fileName44 exceptException as err:45 continue

46

47 for jj indirs:48 fi, di, ro = readFileName(root +jj)49 bIsFind, fileName =startFind(fi, di, ro, findKey, strSuffix)50 if(bIsFind ==True):51 returnbIsFind, fileName52 return False, ''

53

54 #public:

55 deffindUse(dirPath, findKey, strSuffix):56 files, dirs, root =readFileName(dirPath)57 returnstartFind(files, dirs, root, findKey, strSuffix)58

59 defgetDirsFiles(dirPath):60 dirfiles =[];61 for root, dirs, files inos.walk(dirPath):62 dirfiles +=files;63 returndirfiles64

65 defwriteResult(strFileName, strWriteSign, list):66 fp = open(strFileName, 'a+')67 fp.write(strWriteSign)68 #fp.writelines(list)

69 for str inlist:70 fp.write(str)71 fp.write('\n')72 fp.close()73

74 if __name__ == '__main__':75 """

76 findDir = u"E:\\mmo2018001\\artist\\open\\ui\\free\\"77 findAimDir = u"E:\\mmo2018001\\artist\\open\\effect\\"78 findsuffix = "prefab" # 哪些要搜索的文件的后缀79 findAimsuffix = "*" # 搜索那些后缀的文件80 """

81 bt = time.clock() #记录时间

82

83 findDir = sys.argv[1]84 findAimDir = sys.argv[2]85 findsuffix = sys.argv[3]86 findAimsuffix = sys.argv[4]87

88 thisPath =os.getcwd()89 print("this path is", thisPath)90 print(findDir)91 print(findAimDir)92 print(findsuffix)93 print(findAimsuffix)94

95 dirFiles =getDirsFiles(findAimDir)96 useFiles =[]97 notUseFiles =[]98 nLen =len(dirFiles)99 i =0100 for filesName indirFiles :101

102 bIsCheckOk, strPreFileName =checkSuffix(filesName, findsuffix)103 if bIsCheckOk ==True:104 isFind, fileName =findUse(findDir, strPreFileName, findAimsuffix)105 #print("filesName:\t", filesName, " \nIsFind:\t\t", isFind)

106 if(isFind):107 useFiles.append(filesName)108 else:109 notUseFiles.append(filesName)110 i += 1

111 p = round(i * 100 /nLen)112 duration = round(time.clock() - bt, 2)113 remaining = round(duration * 100 / (0.01 + p) - duration, 2)114 print("进度:{0}%,已耗时:{1}s,预计剩余时间:{2}s".format(p, duration, remaining), end="\r")115

116 writePath = thisPath + "\\Result.txt"

117 try:118 os.remove(writePath)119 exceptException as err:120 print(err)121 writeResult(writePath, "***************NotUseFiles:***************\n", notUseFiles)122 writeResult(writePath, "***************UseFiles:***************\n", useFiles)123 useTime = time.clock() -bt124 print("已完成 总耗时:", useTime)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值