python erkennt dateipfad nicht?
Ich glaube weil das "/bin" eine leicht andere farbe hat, erkentn er den dateipfad nicht, bzw dort wird iwie nix erkannt, ich bräuchte bitte hilfe
2 Antworten
Ich kenne mich zwar mit Python nicht aus, aber vermutlich muss man die Backslashe in String-Konstanten verdoppeln.
"C:\\Program Files\\wkxxx\\bin\\wkxxx.exe"
Zumindest bei C und C++ ist das so.
Man könnte auch "C:/Program Files/wkxxx/bin/wkxxx.exe" versuchen. Vielleicht funktionert das auch.
Die leicht andere Farbe ist ein Hinweis darauf, was das Problem ist. Der Backslash ist bei Python (und den meisten anderen Programmiersprachen auch) ein sogenannter Escape-Character. Das heißt, das Zeichen, was danach kommt, kriegt eine besondere Bedeutung. Das häufigste dürfte wohl \n sein, was eine neue Zeile erzeugt oder \\ was einen einzelnen Backslash erzeugt. Die Kombination \b ist ein Backspace. Die heißt also "lösche das letzte Zeichen", deshalb ist auch das "f" von "pdf" verschwunden.
Wenn du in Python die Backslashes wirklich 1:1 im String stehen haben willst, ist es am einfachsten, wenn du vor das öffnende Anführungszeichen ein r schreibst. Das bedeutet dann "raw-String" und es wird nichts verändert.
wkhtmltopdf=r"C:\Program Files ...
Den Trick mit dem r vor dem String kannte ich noch nicht.