Ezen az oldalon: open (), file path, CWD (‘current working directory’), r ‘raw string’ prefix, os.getcwd (), os.chdir ().

hivatkozás egy fájl teljes elérési útját és nevét

amint az útmutatók # 12 és #13, Akkor nézze meg a helyi fájl Python segítségével a fájl teljes elérési útját és a fájl nevét., 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.)., Linuxban és OS-X-ben ” / ” – vel kezdődik, amit root-nak hívnak. A könyvtárakat “/”perjel választja el. A fájl teljes könyvtári elérési útját, valamint a fájl nevét a “tulajdonságok”segítségével tekintheti meg. Nézze meg, hogyan történik ez a GYIK.

egy fájl hivatkozása a Windows

rendszerben a Windows rendszerben van néhány további módszer a fájl hivatkozására. Ennek oka az, hogy natív módon a Windows fájl elérési útja a “\” visszacsapást alkalmazza a perjel helyett. A Python lehetővé teszi mind a Windows rendszerben történő használatát, de van néhány buktató, amelyre figyelni kell., Összefoglalva:

fájlnév parancsikonok és CWD (Current Working Directory)

tehát a teljes könyvtár elérési útja és a fájl neve mindig működik; ezt a módszert kell használnia. Előfordulhat azonban, hogy csak a nevükön hívott fájlokat látta, például: “alice.txt ‘ Python-ban. Hogyan történik?

a jelenlegi munkakönyvtár (CWD) fogalma itt kulcsfontosságú. Úgy gondolhat rá, mint arra a mappára, amelyen a Python jelenleg belül működik. Eddig az abszolút elérési utat használtuk, amely a legfelső könyvtárból indul. De ha a fájl hivatkozás nem indul el a tetején (például, ” alice.,txt’, ‘ ling1330/alice.txt’), Python feltételezi, hogy kezdődik a CWD (a”relatív útvonal”).
Ez azt jelenti, hogy egy csak név hivatkozást csak akkor lesz sikeres, ha a fájl a Python CWD. De ne feledje, hogy a CWD változhat. A Python különböző kezdeti CWD beállításokkal rendelkezik, attól függően, hogy Python szkripttel vagy shell környezetben dolgozik-e.

  • egy Python-szkriptben:
    a szkript végrehajtásakor a CWD a könyvtárba van állítva, ahol a szkript van., Ezért csak akkor hivatkozhat egy szkriptben lévő fájlra a neve szerint, ha a fájl és a szkript ugyanabban a könyvtárban van. Példa:

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

  • Python shell:
    a héjban a kezdeti CWD beállítás rendszerenként változik. A Windows rendszerben az alapértelmezett hely gyakran “C:/program Files (x86) / Python35-32′ (ami kényelmetlen – lásd ezt az” alapkonfigurációk ” oldalt, vagy ezt a GYIK-ot a módosításhoz). Az OS-X-ben általában “/ Felhasználók / felhasználónév / Dokumentumok”, ahol a felhasználónév a felhasználói azonosító. (A Mac felhasználóknak látniuk kell ezt a GYIK-ot a beállítás megváltoztatásához.,) Hacsak a fájl nem szerepel a CWD-ben, két lehetősége van:
    1. módosítsa a CWD-t a fájl könyvtárába, vagy
    2. másolja vagy helyezze át a fájlt a CWD-re. (Nem ajánlott, mivel a héj CWD-je megváltozhat.)

lásd ezt a képernyőképet és a következő részt a CWD beállítással való együttműködéshez a Python Shellben.

a CWD

Python modul operációs rendszer segédprogramokat biztosít az aktuális munkakönyvtár megjelenítéséhez és módosításához. Az alábbiakban szemlélteti, hogyan lehet megtalálni a CWD (.getcwd ()), majd változtassa meg egy másik könyvtárba (.chdir ())., Az alábbiakban egy példa a windows operációs rendszerre:vegye figyelembe, hogy a Python interpreter által visszaküldött CWD A Windows fájl elérési útja formátumban van: a “\” backslash-t használja a könyvtár elválasztó számára, minden példány megszökött. Míg a Python lehetővé teszi a Windows felhasználók számára a Linux / OS-X stílus “/” használatát a fájlútvonalakban, belsőleg az operációs rendszer natív fájl elérési útját használja.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük