Frage

Ich bin eine Web-Anwendungsentwicklung Noob. Ich habe eine Funktion, die eine Datei und liest sie sich öffnet. Leider unterscheiden sich die Verzeichnisstrukturen zwischen den Test- und Produktionsservern. Mir wurde gesagt, auf „einen Pfad relativ zu ~ benutzen“. Ich habe nicht in der Lage gewesen, alle Ressourcen auf das finden ‚~‘, aber!

Wie verwende ich die Tilde im Zusammenhang mit Pfaden?

EDIT: Dies ist in Python. Ich reparierte das Problem, indem os.path.expanduser ( '~ / path / in / home / Bereich') .

War es hilfreich?

Lösung

es ist, $HOME var in UNIX, die in der Regel /home/username ist.

„Ihr Zuhause“ das Haus des Benutzers bedeutet, die einen Befehl wie cd ~/MyDocuments/ ist die Ausführung ist cd /home/user_executing_cd_commnd/MyDocuments

Andere Tipps

Wenn Sie nicht gerade ein Shell-Skript zu schreiben oder eine andere Sprache verwenden, die den Wert von $HOME für ~ zu ersetzen weiß, Tilden in Dateipfade haben keine besondere Bedeutung und wird wie jede andere nicht-Sonderzeichen behandelt werden.

Wenn Sie einen Shell-Skript schreiben, Muscheln interpretieren nicht Tilden, wenn sie nicht als erstes Zeichen in einem Argumente auftreten. Mit anderen Worten, wird ~/file werden /path/to/users/home/directory/file, aber ./~/file wird buchstäblich interpretiert werden (das heißt, "eine Datei file in einem Unterverzeichnis von . genannt ~ genannt").

Wurde in URLs, Interpretation der Tilde als Abkürzung für Home-Verzeichnis des Benutzers (zum Beispiel http://www.foo.org/~bob) ist eine Konvention von Unix entlehnt. Die Umsetzung ist vollständig serverspezifisch, so dass Sie in der Dokumentation zu Ihrem Web-Server überprüfen, müssen Sie zu sehen, ob es eine besondere Bedeutung hat.

Wenn Sie mit pathlib für Dateinamen, dann können Sie auf Windows und Linux verwenden (Ich kam hier für eine Windows-Antwort):

python from pathlib import Path p = Path('~').expanduser() print(p)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top