zoukankan      html  css  js  c++  java
  • python 多进程练习 调用 os.system命令

    import sys
    import getopt
    import os
    import multiprocessing
    
    
    def list_all_file(path):
        """
        list all files of a directory
        :param path:
        :return:
        """
        file_list = []
        for (path, _, files) in os.walk(path):
            for filename in files:
                file_list.append(os.path.join(path, filename))
        return file_list
    
    
    def process_file(filename, is_black):
        suffix = os.path.splitext(filename)[-1][1:]
        if suffix != "pcap":
            return
    
        if is_black:
            cmd = "python extract_tls_flow4.py -vr {} -o black/{}.txt  >logs/black/{}.log".format(filename, os.path.basename(filename), os.path.basename(filename))
        else:
            cmd = "python extract_tls_flow4.py -vr {} -o white/{}.txt  >logs/white/{}.log".format(filename, os.path.basename(filename), os.path.basename(filename))
        os.system(cmd)
    
    
    def process_black_file(filename):
        process_file(filename, 1)
    
    
    def process_white_file(filename):
        process_file(filename, 0)
    
    
    def process_dir(sample_dir, is_black):
        file_list = list_all_file(sample_dir)
    
        process_num = 30
        pool = multiprocessing.Pool(processes=process_num)
        if is_black:
            pool.map(process_black_file, file_list)
        else:
            pool.map(process_white_file, file_list)
    
        pool.close()
        pool.join()
        print("End...........")
    
    
    black_sample_dir = "/opt/data/samples/black_pcap"
    white_sample_dir = "/opt/data/samples/white_pcap"
    
    process_dir(black_sample_dir, 1)
    process_dir(white_sample_dir, 0)
    

      

  • 相关阅读:
    Android 5.0新特性了解(一)----TabLayout
    Kafka生产者各种启动参数说明
    Kafka基础知识
    ONS发布订阅消息
    Spring异步事件
    Java动态代理机制
    Java线程间怎么实现同步
    技术架构实践三要点
    Distributed transactions in Spring, with and without XA
    Spring 中常用注解原理剖析
  • 原文地址:https://www.cnblogs.com/bonelee/p/10409271.html
Copyright © 2011-2022 走看看