Na této stránce: open(), cesta k souboru, CWD (‚aktuální pracovní adresář‘), r ‚raw string‘ prefix, os.getcwd (), os.čdir ().
odkazující na soubor s úplnou cestou a názvem
jak je vidět v Tutorials #12 a # 13, můžete odkazovat na místní soubor v Pythonu pomocí úplné cesty a názvu souboru., Below, you are opening up a file for reading:
|
|
In Windows, a full file directory path starts with a drive letter (C:, D:. etc.)., V Linuxu a OS-X začíná“/“, který se nazývá root. Adresáře jsou odděleny lomítkem“/“. Můžete vyhledat cestu k úplnému adresáři souboru a název souboru prostřednictvím jeho „vlastností“. Podívejte se, jak se to dělá v tomto FAQ.
odkazující na soubor v systému Windows
v systému Windows existuje několik dalších způsobů odkazování na soubor. To je proto, že nativně, Windows File path používá zpětné lomítko “ \ “ namísto lomítka. Python umožňuje používat jak v systému Windows, ale existuje několik úskalí dávat pozor., Chcete-li je shrnout:
zástupce názvu souboru a CWD (Current Working Directory)
takže pomocí cesty k plnému adresáři a názvu souboru vždy funguje; měli byste tuto metodu používat. Mohli jste však vidět soubory, které se nazývají pouze jejich jménem, např.txt v Pythonu. Jak se to dělá?
koncept aktuálního pracovního adresáře (CWD) je zde zásadní. Můžete si to představit jako složku, ve které Python v tuto chvíli pracuje. Dosud jsme používali absolutní cestu, která začíná od nejvyššího adresáře. Ale pokud váš odkaz na soubor nezačíná shora (např.,txt‘, ‚ ling1330 / alice.txt‘), Python předpokládá, že začíná v CWD („relativní cesta“).
to znamená, že odkaz pouze na jméno bude úspěšný pouze tehdy, když je soubor v CWD Pythonu. Mějte však na paměti, že se vaše CWD může změnit. Python má také různá počáteční nastavení CWD v závislosti na tom, zda pracujete se skriptem Python nebo v prostředí shellu.
- ve skriptu Python:
Při spuštění skriptu je váš CWD nastaven do adresáře, kde je váš skript., Proto můžete odkazovat na soubor ve skriptu svým názvem pouze za předpokladu, že soubor a skript jsou ve stejném adresáři. Příklad:myfile = open('alice.txt') # alice.txt is in the same dir as foo.pymytxt = myfile.read()myfile.close()foo.py
- ve skořápce Pythonu:
ve vašem shellu se počáteční nastavení CWD liší podle systému. Ve Windows je výchozí umístění často ‚C:/program soubory (x86) / Python35-32′ (což je nepohodlné-viz tato stránka „Základní konfigurace“ nebo tato FAQ, jak ji změnit). V OS-X je obvykle’/Users/username / Documents‘, kde uživatelské jméno je vaše ID uživatele. (Uživatelé Mac by měli vidět tento FAQ o tom, jak změnit nastavení.,) Pokud se Váš soubor nestane ve vašem CWD, máte dvě možnosti:- změňte CWD do adresáře souboru nebo
- zkopírujte nebo přesuňte soubor do CWD. (Nedoporučuje se, protože CWD vašeho shellu se může změnit.
podívejte se na tento snímek obrazovky a další část, jak pracovat s nastavením CWD v Pythonu shell.
hledání a změna CWD
Python Module os poskytuje nástroje pro zobrazení a úpravu aktuálního pracovního adresáře. Níže ilustruje, jak najít CWD (.getcwd ()) a změnit jej do jiného adresáře (.čdir ())., Níže je příklad pro OS windows:Všimněte si, že CWD se vrátil do Pythonu je v systému Windows cestu k souboru formát: používá zpětné lomítko „\“ pro oddělovač adresářů, a pokaždé utekl. Zatímco Python umožňuje uživatelům Windows používat Linux / OS-X styl “ / “ v souborových cestách, interně používá formát cesty OS-native file.