Ich schreibe Code, der ein Onclick-Ereignis verwendet, um einige Dateipfade zu erhalten. Ich muss sicherstellen, dass diese Dateipfade Literale sind, um sicherzustellen, dass sie korrekt sind, damit der Rest meines Codes ausgeführt werden kann. Im Moment denke ich, dass ich die Dateipfade als Unicode bekomme. Im Grunde muss ich dies:Wie konvertiere ich einen String in ein String-Literal in Python?
r"File\location\extra\slash"
Wie kann ich dies tun:
u"File\location\extra\slash"
dies sein? Ich konnte niemanden finden, der das tatsächlich erfolgreich durchführen konnte und die Dokumentation hat dafür keine Beispiele. Ich kann nicht ändern, wie die Funktion, die mir das Onclick-Ereignis der Dateipfade gibt, funktioniert. Hier
ist der Code in Frage:
class SetLayer(object):
"""Implementation for leetScripts_addin.button2 (Button)"""
def __init__(self):
self.enabled = True
self.checked = False
def onClick(self):
self.a = pythonaddins.GetSelectedCatalogWindowPath()
print self.a
#code split up path here
self.b = os.path.split(str(self.a))
self.c = self.b[0]
self.d = os.path.split(self.c)
self.e = (self.b[1])
self.f = (self.d[1])
self.g = (self.d[0])
Siehe auch: http://stackoverflow.com/questions/7262828/python-how-to-convert-string-literal-to-raw-string-literal – pokemon
Es klingt wie Sie falsch sind, was Sie tatsächlich haben , wenn Sie sagen, Sie haben 'u" File \ location \ extra \ slash "'. Wenn Sie die Ausgabe nicht mit einem "r" an der Vorderseite und doppelten Anführungszeichen drucken möchten, benötigen Sie nicht unbedingt ein Zeichenfolgenliteral. Kannst du 'repr (your_current_string) 'ausdrucken und uns zeigen, was das anzeigt? – user2357112
ist es nicht einfach nur "File \ location \ extra \ slash" .decode ('utf-8')? – dmitryro