Seite 1 von 1

Zahl in String suchen + Shebang Frage

Verfasst: Donnerstag 20. Oktober 2022, 10:23
von cs_reaper
Liebes Python-Forum,

ich habe folgende Fragen:

Frage1: Wie nutze ich einen Shebang der immer den venv-Ordner nutzt in Script-Ordner?

Beispiel: ich habe eine Ordner in dem das Script liegt und der venv Ordner. Nun will ich die Umgebung nicht immer mühseelig vorher aktivieren, sondern er soll den venv-Ordner beim ausführen des Scripts immer nutzen.
Ich will damit erreichen, dass ich die Anwendungen weitergeben kann, ohne das man irgendwelche libs nachinstallieren muss.

Frage2: Ich möchte gerne eine Zahlenkennte auslesen aus einen String, die Zahlenkette taucht mit meheren Zahlenketten aus.

Beispiel: Text...../.....Text...../91283267426/.....Text...../Text....../323223422442/Text....

Ich möchte gerne die 2 Zahl auslesen.

Was ich schon probiert habe:

##Ausgabe-Config-File (config.xml)
import re
file = open("config.xml")
for line in file:
if ("textmuster"):
for i in line:
if i.isdigit():
print(i)
file.close()


vllt könnt ihr mir helfen

Re: Zahl in String suchen + Shebang Frage

Verfasst: Donnerstag 20. Oktober 2022, 10:26
von __deets__
Zum ersten Thema: grundsaetzlich ganz simpel, den vollen Pfad zum Python-Interpreter im venv benutzen. ABER: das wird nix. venvs sind nicht dafuer gemacht, dass man die verteilen kann. Wenn du sowas willst, schau dir pyinstaller an.

Zum zweiten Thema: nicht so dolle beschrieben. Wenn das genau so da drin steht, statt irgendwie von dir verhackstueckt, dann ist ein simples

Code: Alles auswählen

line.split()[index_der_entsprechenden_stelle]
die Loesung.

Re: Zahl in String suchen + Shebang Frage

Verfasst: Donnerstag 20. Oktober 2022, 11:03
von Sirius3
XML-Dateien bearbeitet man nicht mit Textoperationen, sondern nutzt einen XML-Parser.

Code: Alles auswählen

from xml.etree.ElementTree import parse

data = parse("config.xml")
...
Um dann aber weiter helfen zu können, müßten wir die Struktur der XML-Daten kennen und genau wissen, was Du daraus haben möchtest.

Re: Zahl in String suchen + Shebang Frage

Verfasst: Donnerstag 20. Oktober 2022, 11:07
von cs_reaper
ICh versuch das Problem mal nochmal genauer zu beschreiben.

ich habe 2 XML-Datei die folgendermaßen aufgebaut sind:

key1="32323232" key2="blabla/bla/bla/3232232442224/bla/bla/bla/bla/bla"

=>nun möchte ich die beiden XML's zusammenführen aber nur wenn in der jeweiligen Zeile die 2te Zahl (da bei Key2) nicht schon vorhanden ist.
=>gleichzeitig möchte ich vorher , bevor die XML der anderen XML-Datei hinzugefügt wird, die 1. Zahl (von KEy1) eine Zufallszahl geben, welche sich in einer bestimmten Range bewegt.
=>Die Zahlen haben eine unterschiedliche Länge

Ich schätze ich muss die Zusammenhängenden Zahlen erstmal extraieren und denn neue Zeilen für eine gemeinsame xml-Datei bauen.


Danke

Re: Zahl in String suchen + Shebang Frage

Verfasst: Donnerstag 20. Oktober 2022, 11:14
von Sirius3
Bei key1 ist doch der gesamte Wert des Attributs die Zahl, da mußt Du also nichts kompliziert extrahieren, und bei key2 reicht doch ein simples value.split('/')[3].
Und auch beim Zusammenbauen von XML macht man das nicht Zeilenweise, sondern nimmt einen passenden XML-Serialisierer.

Re: Zahl in String suchen + Shebang Frage

Verfasst: Donnerstag 20. Oktober 2022, 11:31
von cs_reaper
Danke schonmal, ich probiere jetzt aus :)

Re: Zahl in String suchen + Shebang Frage

Verfasst: Donnerstag 20. Oktober 2022, 11:51
von cs_reaper
Ich komm nun der Sache etwas näher, habe aber nun rausbekommen das es mehere Tags gibt sondern das Parsen gibt mir hier auch nur die Zeilen aus:

<rec from="07756" to="Ordner1/UOrdner1/UOrdner2/2000100000/UOrdner4"/>

indem Fall ist der Tag "rec"


##Ausgabe-Config-File (config.xml)
import xml.etree.ElementTree as ET
tree = ET.parse('config.xml')
root = tree.getroot()

Re: Zahl in String suchen + Shebang Frage

Verfasst: Donnerstag 20. Oktober 2022, 12:07
von cs_reaper
ich habs nun fast geschafft :)