In questa pagina: open(), percorso file, CWD (‘current working directory’), r prefisso ‘raw string’, os.per saperne di piùchdir ().

Riferimento a un file con un percorso completo e un nome

Come visto nelle esercitazioni #12 e #13, è possibile fare riferimento a un file locale in Python utilizzando il percorso completo del file e il nome del file., Below, you are opening up a file for reading:

>>> myfile = open('C:/Users/narae/Desktop/alice.txt') # Windows>>> mytxt = myfile.read()>>> myfile.close()
>>> myfile = open('/Users/narae/Desktop/alice.txt') # Mac and Linux>>> mytxt = myfile.read()>>> myfile.close()

In Windows, a full file directory path starts with a drive letter (C:, D:. etc.)., In Linux e OS-X, inizia con”/”, che si chiama root. Le directory sono separate da una barra”/”. È possibile cercare il percorso completo della directory di un file e il nome del file attraverso le sue “Proprietà”. Vedere come è fatto in questa FAQ.

Riferimento a un file in Windows

In Windows, ci sono un paio di modi aggiuntivi di riferimento a un file. Questo perché nativamente, il percorso del file di Windows utilizza la barra rovesciata ” \ ” invece della barra. Python consente di utilizzare entrambi in un sistema Windows, ma ci sono un paio di insidie a cui prestare attenzione., Per riassumerli:

Scorciatoie del nome file e CWD (Current Working Directory)

Quindi, usare il percorso completo della directory e il nome del file funziona sempre; dovresti usare questo metodo. Tuttavia, potresti aver visto file chiamati solo con il loro nome, ad esempio, ‘alice.txt ‘ in Python. Come si fa?

Il concetto di Current Working Directory (CWD) è cruciale qui. Puoi pensarlo come la cartella che il tuo Python sta operando al momento. Finora abbiamo utilizzato il percorso assoluto, che inizia dalla directory più in alto. Ma se il tuo riferimento al file non inizia dall’alto (ad esempio, ‘ alice.,txt’, ‘ ling1330 / alice.txt’), Python presuppone che inizi nel CWD (un”percorso relativo”).
Ciò significa che un riferimento solo nome avrà successo solo quando il file si trova nel CWD di Python. Ma tieni presente che il tuo CWD potrebbe cambiare. Inoltre, il tuo Python ha diverse impostazioni CWD iniziali a seconda che tu stia lavorando con uno script Python o in un ambiente di shell.

  • In uno script Python:
    Quando si esegue lo script, il CWD è impostato sulla directory in cui si trova lo script., Pertanto, è possibile fare riferimento a un file in uno script con il suo nome solo a condizione che il file e lo script si trovino nella stessa directory. Un esempio:

    myfile = open('alice.txt') # alice.txt is in the same dir as foo.pymytxt = myfile.read()myfile.close()foo.py 

  • Nella shell Python:
    Nella shell, l’impostazione CWD iniziale varia a seconda del sistema. In Windows, la posizione predefinita è spesso ‘C:/program File (x86) / Python35-32 ‘(che è scomodo-vedi questa pagina “Configurazioni di base” o questa FAQ per come cambiarla). In OS-X, di solito è ‘/ Users/username / Documents’ dove username è il tuo ID utente. (Gli utenti Mac dovrebbero vedere questa FAQ su come modificare le impostazioni.,) A meno che il tuo file non si trovi nel tuo CWD, hai due opzioni:
    1. Cambia il tuo CWD nella directory del file, o
    2. Copia o sposta il tuo file nel tuo CWD. (Non raccomandato, poiché il CWD della tua shell potrebbe cambiare.)

Vedi questa schermata e la sezione successiva su come lavorare con le tue impostazioni CWD nella shell Python.

Trovare e cambiare CWD

Python module os fornisce utilità per la visualizzazione e la modifica della directory di lavoro corrente. Qui di seguito illustra come trovare il vostro CWD (.getcwd ()) e cambiarlo in una directory diversa (.chdir ())., Di seguito è riportato un esempio per il sistema operativo Windows:Si noti che il CWD restituito dall’interprete Python è nel formato del percorso del file di Windows: utilizza la barra rovesciata “\” per il separatore di directory e ogni istanza è sfuggita. Mentre Python consente agli utenti Windows di utilizzare lo stile Linux / OS – X ” / ” nei percorsi dei file, internamente utilizza il formato del percorso del file nativo del sistema operativo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *