Was ich machen wollte -Öffnen Sie eine bestimmte http.conf und erhalten Sie die Portnummer mit einem regulären Ausdruck ・ Speichern Sie die erfasste Nummer in einer Variablen und spucken Sie sie mit yaml aus
Der folgende Fehler ist jedoch aufgetreten
vh_https_port = self.func_extract_port("^<VirtualHost \*:", ">", vh_port_line_https)
*vh_port_line_https=Eine Zeichenfolge, die die Portnummer enthält
def func_extract_port(self, pattern_s, pattern_e, string):
try:
#Kommentarzeilen ausschließen
regex = r'(\d{1,5})'
r = re.compile(pattern_s+regex+pattern_e)
result_word = r.search(string)
except:
print(string+"Gegen"+pattern_s+"Wann"+ pattern_e +"Ich habe gesucht, aber nicht gefunden")
result_word = ""
return result_word
yaml.representer.RepresenterError: cannot represent an object: <_sre.SRE_Match object; span=(0, 21), match='<VirtualHost *:1111>'>
Das durch die Suche erhaltene Ergebnis ist keine Zeichenfolge, die ein Übereinstimmungsobjekt ist. Selbst wenn es in einer Variablen gespeichert werden kann, war ich wütend, dass es nicht dargestellt werden konnte.
result_word = r.search(string).group(1) Und machte den Rückgabewert der Funktion zu einer Zeichenkette
Recommended Posts