Macs geben einen Posixpath zurück, wenn der Benutzer einen Pfad eingibt. Windows gibt ein WindowsPath-Objekt zurück, wenn der Benutzer dasselbe tut. Gibt es eine Möglichkeit für mich zu prüfen, ob die Eingabe maschinenabhängig ist?Wie überprüft man, ob jemand ein Pfadverzeichnis unter Windows oder Mac eingibt?
1
A
Antwort
1
os.path.sep
gibt Ihnen den Pfadtrenner für die Plattform, \\
für Windows und /
für Unix.
Aber die Sache ist, wenn Sie diese brauchen eine if else
zu implementieren, dann nicht auf diese Weise tun. Die os.path
Funktionen sind plattformspezifischen Verhaltens bewusst und sie werden sich darum kümmern.
0
Eigentlich, wenn Sie die neue pathlib
verwenden, ist die Sache in beiden Fällen nur eine str
zurückgegeben.
Auch NT akzeptiert /
als Pfad-Delimeter und posix \
ist nur ein anderes Zeichen.
Also - nein, Sie können nicht sagen, zumindest nicht ohne zu versuchen, den Pfad zu verwenden; und das wird nur sagen, wenn etwas nicht stimmt, nicht wenn etwas kann arbeiten.
"Gibt einen Pfad ein"? Was soll das heißen? –