143 Stimmen

Python, Schrägstrich am Ende der Verzeichniszeichenkette hinzufügen, os unabhängig

Wie kann ich einen abschließenden Schrägstrich ( / für *nix, \ für win32) zu einer Verzeichniszeichenkette, wenn der abschließende Schrägstrich nicht bereits vorhanden ist? Danke!

0 Stimmen

Was wollen Sie damit machen?

9 Stimmen

Sie sollten die os.path Modul ( docs.python.org/library/os.path.html ), anstatt Strings direkt zu manipulieren. verwenden os.path.join zur Verkettung von Pfadkomponenten.

0 Stimmen

@Tim Pietzcker, damit ich sicher sein kann, dass ein Schrägstrich vorhanden ist, wenn ich die Ordnerzeichenfolge mit einem Dateinamen verknüpfe

236voto

Steven T. Snyder Punkte 5438

os.path.join(path, '') fügt den abschließenden Schrägstrich hinzu, wenn er nicht bereits vorhanden ist.

Das können Sie tun os.path.join(path, '', '') o os.path.join(path_with_a_trailing_slash, '') und Sie erhalten immer noch nur einen nachgestellten Schrägstrich.

35voto

Tim Pietzcker Punkte 311448

Da Sie ein Verzeichnis und einen Dateinamen verbinden wollen, verwenden Sie

os.path.join(directory, filename)

Wenn Sie Folgendes loswerden wollen .\..\..\blah\ Pfade, verwenden Sie

os.path.join(os.path.normpath(directory), filename)

18voto

Max Shawabkeh Punkte 36359

Sie können dies manuell tun:

path = ...

import os
if not path.endswith(os.path.sep):
    path += os.path.sep

In der Regel ist es jedoch viel sauberer, wenn Sie os.path.join .

-2voto

Bloeper Punkte 347

Sie könnten etwa so vorgehen:

os.path.normcase(path)
    Normalize the case of a pathname. On Unix and Mac OS X, this returns the path unchanged; on case-insensitive filesystems, it converts the path to lowercase. On Windows, it also converts forward slashes to backward slashes.

Sonst könnten Sie etwas anderes suchen auf este Seite

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X