Maison >développement back-end >Tutoriel Python >Comment utiliser les expressions régulières Python pour la programmation multi-processus

Comment utiliser les expressions régulières Python pour la programmation multi-processus

PHPz
PHPzoriginal
2023-06-22 13:58:40896parcourir

Python est un langage de programmation largement utilisé dont le module d'expression régulière peut être utilisé pour faire correspondre, rechercher et manipuler des chaînes. La programmation multi-processus est une technologie de programmation qui traite les tâches en parallèle, ce qui peut améliorer l'efficacité de l'exécution du programme. Cet article explique comment utiliser les expressions régulières Python pour la programmation multi-processus afin de traiter plus rapidement de grandes quantités de données.

  1. Importez les bibliothèques nécessaires

Lors de l'exécution d'une programmation multi-processus, vous devez utiliser les bibliothèques multitraitement et re. le multitraitement est utilisé pour créer et gérer des processus, et re est utilisé pour appliquer des expressions régulières.

import multiprocessing
import re
  1. Préparer les données

Avant d'utiliser des expressions régulières, vous devez disposer de certaines données à faire correspondre. Cet article utilisera une liste de chaînes qui doivent être mises en correspondance comme exemples de données.

data = [
    'xyz_123_mn1_na1234_qwe_rty',
    'pqr_234_mn2_na2345_asd_fgh',
    'hjk_345_mn3_na3456_zxc_vbn',
    'lmn_456_mn4_na4567_qaz_wsx',
    'hgo_567_mn5_na5678_edc_rfv'
]
  1. Définir une expression régulière

Avant d'effectuer une correspondance d'expression régulière, vous devez d'abord définir une expression régulière.

L'expression régulière dans cet exemple est utilisée pour faire correspondre les nombres dans une chaîne, où d+ signifie faire correspondre un ou plusieurs groupes de nombres.

pattern = re.compile(r'd+')
  1. Définir la fonction de traitement

Lors de la programmation multi-processus, vous devez d'abord définir une fonction et transmettre les données à la fonction pour traitement. La fonction dans cet exemple prend les données du paramètre en entrée, extrait le numéro correspondant dans chaque chaîne et le renvoie comme valeur de retour.

def get_numbers(data):
    result = list()
    for string in data:
        numbers = pattern.findall(string)
        result.append(numbers)
    return result
  1. Créer un pool de processus

Après avoir préparé les données et les fonctions, vous pouvez créer un pool de processus pour traiter les données en parallèle.

if __name__ == '__main__':
    # 创建进程池
    pool = multiprocessing.Pool()
  1. Soumettre des tâches au pool de processus

En utilisant la méthode map() du pool de processus, les tâches peuvent être soumises au pool de processus pour un traitement parallèle.

    # 将任务提交到进程池
    result = pool.map(get_numbers, [data])
  1. Fermez le pool de processus et affichez les résultats

Après avoir soumis la tâche, vous devez fermer le pool de processus pour libérer des ressources. Dans le même temps, les résultats du traitement doivent également être édités.

    # 关闭进程池
    pool.close()
    pool.join()

    # 输出结果
    print(result)

Exemple de code complet :

import multiprocessing
import re

data = [
    'xyz_123_mn1_na1234_qwe_rty',
    'pqr_234_mn2_na2345_asd_fgh',
    'hjk_345_mn3_na3456_zxc_vbn',
    'lmn_456_mn4_na4567_qaz_wsx',
    'hgo_567_mn5_na5678_edc_rfv'
]

pattern = re.compile(r'd+')


def get_numbers(data):
    result = list()
    for string in data:
        numbers = pattern.findall(string)
        result.append(numbers)
    return result


if __name__ == '__main__':
    # 创建进程池
    pool = multiprocessing.Pool()

    # 将任务提交到进程池
    result = pool.map(get_numbers, [data])

    # 关闭进程池
    pool.close()
    pool.join()

    # 输出结果
    print(result)

Conclusion

L'utilisation d'expressions régulières Python et de la programmation multi-processus peut considérablement améliorer l'efficacité du traitement des données. Cet article explique comment utiliser les expressions régulières Python pour la programmation multi-processus afin que vous puissiez effectuer des tâches plus rapidement lorsque vous travaillerez avec de grandes quantités de données à l'avenir.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn