Domanda

Sono un noob sviluppo di applicazioni web. Ho una funzione che apre un file e lo legge. Purtroppo, le strutture di directory tra i server di test e di produzione si differenziano. Mi è stato detto di "usare un percorso relativo a ~". Non sono stato in grado di trovare tutte le risorse sul '~', però!

Come si usa il carattere tilde nel contesto di percorsi?

EDIT: Questo è in Python. Ho risolto il problema, utilizzando os.path.expanduser ( '~ / percorso / in / home / zona') .

È stato utile?

Soluzione

è il vostro var $HOME in UNIX, che di solito è /home/username.

"La tua casa", cioè la sede dell'utente che sta eseguendo un comando come cd ~/MyDocuments/ è cd /home/user_executing_cd_commnd/MyDocuments

Altri suggerimenti

A meno che non si sta scrivendo uno script di shell o utilizzando qualche altro linguaggio che sa sostituire il valore di $HOME per ~, tilde in percorsi di file non hanno alcun significato particolare e saranno trattati come qualsiasi altro carattere non-speciale.

Se si sta scrivendo uno script di shell, conchiglie non interpretano tilde a meno che non si verificano come primo carattere in un argomento. In altre parole, ~/file diventerà /path/to/users/home/directory/file, ma ./~/file sarà interpretato letteralmente (cioè "un file denominato file in una sottodirectory denominata . ~").

Utilizzato negli URL, l'interpretazione della tilde come abbreviazione per la directory home di un utente (ad esempio, http://www.foo.org/~bob) è una convenzione preso in prestito da Unix. L'implementazione è interamente su server specifico, in modo avresti bisogno di controllare la documentazione del server web per vedere se ha un significato speciale.

Se si utilizza pathlib per i nomi dei file, è possibile utilizzare sia su Windows e Linux (sono venuto qui per una risposta di Windows):

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top