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.
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
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' ]
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+')
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
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()
Mit der Map()-Methode des Prozesspools können Aufgaben zur parallelen Verarbeitung an den Prozesspool übermittelt werden.
# 将任务提交到进程池 result = pool.map(get_numbers, [data])
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!