python erkennt dateipfad nicht?

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 ... 

tunik123  05.10.2023, 14:22

Den Trick mit dem r vor dem String kannte ich noch nicht.

0
daCypher  05.10.2023, 14:29
@tunik123

Du hast ja auch geschrieben, du kennst dich mit Python nicht aus 😜

Das r ist in python ungefähr dasselbe, wie das @ in C# oder String.raw in Javascript oder einfach Anführungszeichen in PowerShell

0