Verwenden repr
x="print 'Hello.\nI\'m a robot from district 09'"
print repr(x)
# Result: 'Hello.\nI\'m a robot from district 09'
EDIT: Wie im Kommentar diese Methode erwähnt verpasst die 'in der I' m Das Drucken von rohen Strings kann einfach mit 'r' erreicht werden. Siehe das Beispiel unten. Ich habe diese Zeit das Ergebnis selbst bestätigt.
x= r"print 'Hello, \nI\'m a robot from district 09'"
print x
#result: print 'Hello, \nI\'m a robot from district 09'
EDIT2: Sie können nicht eine vorhandene Zeichenfolge "raw" drehen. Das Präfix r in Literalen wird vom Parser verstanden; Es wird angewiesen, Escape-Sequenzen in der Zeichenfolge zu ignorieren. Sobald jedoch ein String-Literal analysiert wurde, gibt es keinen Unterschied zwischen einer rohen und einer regulären Zeichenfolge. Wenn Sie beispielsweise eine Zeichenfolge haben, die einen Zeilenumbruch enthält, können Sie zur Laufzeit nicht feststellen, ob diese Zeilenumbruch aus der Escape-Sequenz \ n oder aus einer Zeichenfolge wie "\ next" stammt. Das tatsächliche Zeichenfolgenobjekt, das aus einer dieser Methoden erstellt wurde, sieht gleich aus.
Also alle Versuche, String-encode/string-escape und repr zu verwenden, werden für die von Ihnen erwartete Verwendung fehlschlagen.
Hoffe, das hilft.
Danke, aber immer noch falsch Ergebnis: "print 'Hallo. \ NIch bin ein Roboter aus dem Bezirk 09'". Das "\ '" in -i'm- fehlt. – andio
@andio Bitte beachten Sie die Änderung. Danke für den Hinweis auf den Fehler! –
Hi, ja das habe ich auch probiert. das 'r' funktioniert nur, wenn ich das x selbst setzen kann. Aber wenn das x eine Variable ist, die von einem anderen Benutzer eingegeben wird (über die Texteingabeschnittstelle). Wie kann man dann das 'r' in diese Variable einbetten? Das Ziel ist also: Benutzer geben den Befehl in der Texteingabe ein. Dann stelle ich Knopf zur Verfügung, den ich "exec" Befehl verwenden kann, um es auszuführen. – andio