基于上一篇博客中的问题,我尝试用python改成多进程运行:https://blog.csdn.net/linxi7/article/details/81317704

#!/usr/bin/env python
import time, datetime
import os, sys, commands
import socket
import threadingOSS_DIR="/data/test"test_name = "t_%s" % time.strftime("%Y%m%d")
test_name_LAST_DAY = "t_%s" % ((datetime.datetime.now() + datetime.timedelta(days=-1)).strftime("%Y%m%d"))
test_name_3_DAY_AGO = "t_%s" % ((datetime.datetime.now() + datetime.timedelta(days=-2)).strftime("%Y%m%d"))
test_name_7_DAY_AGO = "t_%s" %  ((datetime.datetime.now() + datetime.timedelta(days=-6)).strftime("%Y%m%d"))
test_name_14_DAY_AGO = "t_%s" % ((datetime.datetime.now() + datetime.timedelta(days=-13)).strftime("%Y%m%d"))
time_of_system = time.strftime("%Y-%m-%d")def exec_commands(cmd):result = commands.getoutput(cmd)return resultdef travel_files(keyword, files, output_file):for single_file in files:file_obj = open(single_file).read().rstrip()for everyline in file_obj.split('\n'):if keyword in everyline:cmd_getid = '''echo "%s" | awk -F'|' '{print $2}' |sort | uniq''' % everylineuserid = exec_commands(cmd_getid)output_file.write(userid + '\n')def get_action(filename, oss_file_name_date, filter_word):register_file = "%s_%s.txt" % (filename, socket.gethostname())if os.path.exists(register_file):file_modify_time = time.strftime("%Y-%m-%d", time.localtime(os.stat(register_file).st_mtime))else:file_modify_time = ''cmd_date = "find %s -type f -name '%s*'" % (OSS_DIR, oss_file_name_date)file_date = exec_commands(cmd_date).split()select_number = 600if file_modify_time != time_of_system:if os.path.exists(register_file):os.remove(register_file)output_file = open(register_file, 'w+')t = threading.Thread(target=travel_files, args=(filter_word, file_date, output_file,))t.start()while threading.active_count() > select_number:time.sleep(1)if __name__ == '__main__':#register 1 day agoget_action("register_file_1_day_ago", test_name_LAST_DAY, "LOGID_ACNT_REGISTER")#register 3 day agoget_action("register_file_3_day_ago", test_name_3_DAY_AGO, "LOGID_ACNT_REGISTER")#register 6 day agoget_action("register_file_7_day_ago", test_name_7_DAY_AGO, "LOGID_ACNT_REGISTER")#register 13 day agoget_action("register_file_14_day_ago", test_name_14_DAY_AGO, "LOGID_ACNT_REGISTER")#login todayget_action("login_file", test_name, "LOGID_ACNT_LOGIN")#logout todayget_action("logout_file", test_name, "LOGID_ACNT_LOGOUT")#register todayget_action("today_register_file", test_name, "LOGID_ACNT_REGISTER")

脚本是查找指定目录下符合时间条件的文件,然后对文件进行批量过滤,采用多线程的方式,能够提升串行执行的时间效果。

python多线程批量过滤文件关键字相关推荐

  1. python批量下载文件-Python实现批量下载文件

    Python实现批量下载文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_a ...

  2. python批量下载网页文件-Python实现批量下载文件

    Python实现批量下载文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_a ...

  3. python实现批量图片/文件重命名

    python实现批量图片/文件重命名 import osclass BatchRename():'''批量重命名文件夹中的图片文件'''def __init__(self):self.path = ' ...

  4. python多线程写同一个文件_Python多线程快速写入文件,python,飞速

    Python多线程快速写入文件,python,飞速 发表时间:2020-07-10 乱序多线程写入 举个最简单的例子,只要求快速写入即可,对顺序无要求时: import threading def w ...

  5. java多线程批量读取文件(七)

    新公司入职一个多月了,至今没有事情可以做,十来个新同事都一样抓狂,所以大家都自己学习一些新东西,我最近在看zookeeper,感觉蛮不错的,和微服务的zuul以及eureka功能类似,只是代码复杂了一 ...

  6. python实现批量转换文件编码(批转换编码示例)

    这篇文章主要介绍了python实现批量转换文件编码示例,指定文件编码.目录或扩展名即可进行转换,大家参考使用吧 # -*- coding:utf-8 -*- __author__ = 'walksky ...

  7. python 下载文件-Python实现批量下载文件

    Python实现批量下载文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_a ...

  8. python实现批量移动文件到指定文件夹

    python实现批量移动文件到指定文件夹 因为前几天在整理数据集文件夹,需要将580多份120个文件移动到新建的文件夹中进行循环读取,也下载了不少软件试用,发现很多都需要会员才能处理大量文件,索性就自 ...

  9. python中大批量m3u8文件合并总结

    python中大批量m3u8文件合并总结 该函数合并,适应于大批量m3u8文本合并m3u8文件 合并m3u8文件函数实现如下 def merge_ts():name_list = []with ope ...

最新文章

  1. map中的迭代删除操作注意问题
  2. 软件测试——StringFunction测试
  3. .pyc文件还原.py文件_Python文件.py转换为.exe可执行程序,制作.exe文件图标
  4. php mysql 验证码代码_PHP_PHP 验证码的实现代码,checkcode.php 生成验证码图片, - phpStudy...
  5. 中小型企业无线网络设计
  6. 简明的wifi通信协议介绍
  7. php在线编辑cad,cad形文件编辑器下载
  8. ADF单位根检验三种形式_【EViews】面板数据的处理方法及检验步骤
  9. 小米air耳机重新配对_小米air耳机重新配对_「小三爷出品」不错的新年礼物,小米蓝牙耳机Air体验...
  10. JDBC连接hive(错误小结)
  11. Excel制作动态图表
  12. 优秀蓝牙耳机推荐,热销不错的四款蓝牙耳机推荐
  13. APP后期运营小技巧
  14. 通过Google Earth观看全球夜景地图
  15. [HDCTF2019]bbbbbbrsa
  16. python求语音信号短时能量、短时过零率、语谱图
  17. 编程笔试(解析及代码实现):求和为N的正整数序列之实现一个函数,输入为一个正整数N (比如100),输出为所有和等于N的[连续]正整数序列
  18. 卡卷特权接口API源码
  19. Squeezenet中添加OHEM层
  20. python字典函数大全_python字典介绍

热门文章

  1. 基于JSP的网络音乐KTV点歌电台网站
  2. echarts 3d地图加动画效果
  3. K-T条件的学习拉格朗日函数
  4. 安装TOPAS RTion extension, 出现的问题及解决方法
  5. 图谱实战 | 基于金融场景的事理图谱构建与应用
  6. c++ detailed note
  7. 如何用postman测试导出excel接口
  8. 【易通慧谷】供应链金融主要模式及对商业银行的影响
  9. windows10启动/关闭MySQL服务的两种方法
  10. 使用GAN的图像超分辨率功能彻底消灭模糊图