Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie reguläre Python-Ausdrücke für die Multiprozessprogrammierung

So verwenden Sie reguläre Python-Ausdrücke für die Multiprozessprogrammierung

PHPz
PHPzOriginal
2023-06-22 13:58:40869Durchsuche

Python ist eine weit verbreitete Programmiersprache, deren Modul für reguläre Ausdrücke zum Abgleichen, Suchen und Bearbeiten von Zeichenfolgen verwendet werden kann. Bei der Multiprozessprogrammierung handelt es sich um eine Programmiertechnologie, die Aufgaben parallel verarbeitet, wodurch die Ausführungseffizienz des Programms verbessert werden kann. In diesem Artikel wird erläutert, wie Sie reguläre Python-Ausdrücke für die Multiprozessprogrammierung verwenden, um große Datenmengen schneller zu verarbeiten.

  1. Importieren Sie die erforderlichen Bibliotheken

Bei der Multiprozessprogrammierung müssen Sie die Multiprocessing- und Re-Bibliotheken verwenden. Multiprocessing wird zum Erstellen und Verwalten von Prozessen verwendet, und Re wird zum Anwenden regulärer Ausdrücke verwendet.

import multiprocessing
import re
  1. Daten vorbereiten

Bevor Sie reguläre Ausdrücke verwenden, benötigen Sie einige passende Daten. In diesem Artikel wird eine Liste von Zeichenfolgen verwendet, die als Beispieldaten abgeglichen werden müssen.

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. Regulären Ausdruck definieren

Bevor Sie den Abgleich mit regulären Ausdrücken durchführen, müssen Sie zunächst einen regulären Ausdruck definieren.

Der reguläre Ausdruck in diesem Beispiel wird verwendet, um Zahlen in einer Zeichenfolge abzugleichen, wobei d+ den Abgleich mit einer oder mehreren Zahlengruppen bedeutet.

pattern = re.compile(r'd+')
  1. Definieren Sie die Verarbeitungsfunktion

Bei der Mehrprozessprogrammierung müssen Sie zunächst eine Funktion definieren und die Daten zur Verarbeitung an die Funktion übergeben. Die Funktion in diesem Beispiel verwendet die Parameterdaten als Eingabe, extrahiert die passende Zahl in jeder Zeichenfolge und gibt sie als Rückgabewert zurück.

def get_numbers(data):
    result = list()
    for string in data:
        numbers = pattern.findall(string)
        result.append(numbers)
    return result
  1. Erstellen Sie einen Prozesspool

Nach der Vorbereitung der Daten und Funktionen können Sie einen Prozesspool erstellen, um die Daten parallel zu verarbeiten.

if __name__ == '__main__':
    # 创建进程池
    pool = multiprocessing.Pool()
  1. Aufgaben an den Prozesspool senden

Mit der Map()-Methode des Prozesspools können Aufgaben zur parallelen Verarbeitung an den Prozesspool übermittelt werden.

    # 将任务提交到进程池
    result = pool.map(get_numbers, [data])
  1. Schließen Sie den Prozesspool und geben Sie die Ergebnisse aus

Nach dem Absenden der Aufgabe müssen Sie den Prozesspool schließen, um Ressourcen freizugeben. Gleichzeitig müssen auch die Verarbeitungsergebnisse ausgegeben werden.

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

    # 输出结果
    print(result)

Vollständiges Codebeispiel:

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)

Fazit

Die Verwendung regulärer Python-Ausdrücke und Multiprozessprogrammierung kann die Effizienz der Datenverarbeitung erheblich verbessern. In diesem Artikel wird erläutert, wie Sie reguläre Python-Ausdrücke für die Multiprozessprogrammierung verwenden, damit Sie Aufgaben bei der Arbeit mit großen Datenmengen in Zukunft schneller erledigen können.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Python-Ausdrücke für die Multiprozessprogrammierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn