Python Variable in string maskieren?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Beispielsweise so...

import os
zahl = "20"
os.system('python3 /verzeichnis/script.py '+zahl)

Dann wird durch das „+zahl“ der String „zahl“ an das Ende des vorigen Strings gehängt. (Mit „+“ kann man Strings verketten.)

BlackHawkx05 
Fragesteller
 22.04.2020, 15:34

Danke hat geklappt

1
mihisu  22.04.2020, 15:35

Ansonsten könnte man beispielsweise auch str.format() nutzen.

Also beispielsweise...

import os
zahl = "20"
os.system('python3 /verzeichnis/script.py {}'.format(zahl))

... oder...

import os
zahl = "20"
os.system('python3 /verzeichnis/script.py {hier}'.format(hier=zahl))

Da werden dann die geschweiften Klammern entsprechend ersetzt.

0
mihisu  22.04.2020, 15:40

Oder man kann f-Strings verwenden...

import os
zahl = "20"
os.system(f'python3 /verzeichnis/script.py {zahl}')
0

richtig wäre es :

import os
zahl = "20"
os.system('python3 /verzeichnis/script.py ' + zahl)

Du hast vergessen, das Variablen immer nur ohne den Obenkommas gemacht werden müssen, wie sollte Python den sonst unterscheiden ob es sich um eine variable, einer Funktion mit Rückgabewert ist oder etwas, das einfach so angenommen werden soll wie es dort steht.

Woher ich das weiß:eigene Erfahrung
Als ausgabe erscheint dann immer "zahl" stadt " 20"

Natürlich. Du hast es ja so geschrieben. Woher soll Python wissen, dass du da die gleichnamige Variable drin haben willst?

Wenn du willst, dass der Inhalt der Variable "zahl" dort landet, kannst du zB die beiden Strings miteinander verketten.

os.system('python3 /verzeichnis/script.py ' + zahl)

Du kannst stattdessen auch f-Strings verwenden.

BlackHawkx05 
Fragesteller
 22.04.2020, 15:33

Hat funktioniert

0