på denna sida: open(), file path, CWD (’current working directory’), r ’raw string’ prefix, os.getcwd(), os.chdir().
referera till en fil med en fullständig sökväg och namn
som ses i Tutorials #12 och #13, kan du hänvisa till en lokal fil i Python med hjälp av filens fullständiga sökväg och filnamn., Below, you are opening up a file for reading:
|
|
In Windows, a full file directory path starts with a drive letter (C:, D:. etc.)., I Linux och OS-X börjar det med”/”, som kallas root. Kataloger separeras med ett snedstreck”/”. Du kan slå upp en fils fullständiga katalogväg och filnamn via dess ”egenskaper”. Se hur det görs i denna FAQ.
referera till en fil i Windows
i Windows finns det ytterligare ett par sätt att referera till en fil. Det beror på att Windows File path använder backslash ”\” istället för snedstrecket. Python tillåter att använda både i ett Windows-system, men det finns ett par fallgropar att se upp för., För att sammanfatta dem:
genvägar för filnamn och CWD (nuvarande arbetskatalog)
så, med hjälp av hela katalogvägen och filnamnet fungerar alltid; du borde använda den här metoden. Du kan dock ha sett filer som bara heter ”alice”.txt i Python. Hur går det till?
begreppet aktuell arbetskatalog (CWD) är avgörande här. Du kan tänka på det som mappen din Python fungerar inuti just nu. Hittills har vi använt den absoluta vägen, som börjar från den översta katalogen. Men om din filreferens inte startar från toppen(t. ex. ” alice.,txt’, ’ling1330/alice.txt’), Python förutsätter att det börjar i CWD (en”relativ väg”).
Detta innebär att en namn-enda referens kommer att lyckas endast när filen är i Python s CWD. Men kom ihåg att din CWD kan förändras. Dessutom har din Python olika initiala CWD-inställningar beroende på om du arbetar med ett Python-skript eller i en skalmiljö.
- i ett Python-skript:
När du kör ditt skript är din CWD inställd på katalogen där ditt skript är., Därför kan du hänvisa till en fil i ett skript med sitt namn endast förutsatt att filen och skriptet finns i samma katalog. Ett exempel:myfile = open('alice.txt') # alice.txt is in the same dir as foo.pymytxt = myfile.read()myfile.close()foo.py
- i Python shell:
i ditt skal varierar den ursprungliga CWD-inställningen efter system. I Windows är standardplatsen ofta ”C:/program filer (x86) / Python35-32′ (vilket är obekvämt-se denna ”grundläggande konfigurationer” sida eller denna FAQ för hur man ändrar det). I OS-X är det oftast ”/Användare/Användarnamn/dokument ” där Användarnamn är ditt användarnamn. (Mac-användare bör se denna FAQ för hur du ändrar din inställning.,)Om inte din fil råkar vara i din CWD, har du två alternativ:- ändra din CWD till filens katalog, eller
- kopiera eller flytta filen till din CWD. (Rekommenderas inte, eftersom ditt skal CWD kan förändras.)
Se det här skärmbilden och nästa avsnitt för hur du arbetar med din CWD-inställning i Python-skal.
hitta och ändra CWD
Python modul os ger verktyg för att visa och ändra din nuvarande arbetskatalog. Nedan visar hur du hittar din CWD (.getcwd ()) och ändra den till en annan katalog (.chdir())., Nedan är ett exempel för Windows OS: Observera att CWD returneras av Python tolk är i Windows sökväg format: den använder backslash ”\” för katalogseparator, och varje instans flydde. Medan Python låter Windows-användare använda Linux / OS-X stil ” / ” i sökvägar, internt den använder OS-infödda sökvägen format.