lähdekoodi: Lib/posixpath.py (POSIX) andLib/ntpath.py (Windows NT).
tämä moduuli toteuttaa joitain hyödyllisiä toimintoja polkunimissä. Voit lukea orwrite-tiedostoja katso open()
, ja päästäksesi tiedostojärjestelmään katsoos
– moduuli. Polkuparametrit voidaan siirtää joko merkkijonoina tai tavuina. Sovelluksia kannustetaan esittämään tiedostonimiä (Unicode) – merkistöinä. Valitettavasti jotkut tiedostonimet eivät välttämättä ole esitettävissä merkkijonoina Unixissa, joten sovellusten, jotka tarvitsevat tukea arbitrary-tiedostonimiä Unixissa, tulisi käyttää tavu-objekteja edustamaan Path-nimiä. Päinvastoin, tavuobjektien käyttäminen ei voi edustaa kaikkia tiedostonimiä Windowsissa (standardissa mbcs
koodaus), joten Windows-sovellusten tulisi käyttää merkkijonoobjekteja kaikkien tiedostojen käyttämiseen.
toisin kuin unix-komentotulkki, Python ei tee mitään automaattisia polkulaajennuksia.Funktiot, kuten expanduser()
ja expandvars()
, voidaan kutsua erikseen, kun sovellus haluaa komentotulkin kaltaisen polkulaajennuksen. (Katso myös glob
moduuli.)
Katso myös
pathlib
moduuli tarjoaa korkean tason polkukohteita.
Huomautus
kaikki nämä funktiot hyväksyvät joko vain tavuja tai vain merkkijonoobjekteja niiden parametreiksi. Tuloksena on samantyyppinen objekti, jos polun tai tiedoston nimi palautetaan.
Huomautus
koska eri käyttöjärjestelmillä on erilaiset polkunimikäytännöt, tästä moduulista on useita versioita standardikirjastossa. os.path
– moduuli on aina Pythonin käytössä olevalle käyttöjärjestelmälle sopiva polkumoduuli ja siten käyttökelpoinen paikallisille poluille. Kuitenkin, voit myös tuoda ja käyttää yksittäisiä moduuleja, jos haluat manipuloida polku, joka on aina yksi eri muodoissa. Heillä kaikilla on sama käyttöliittymä:
-
posixpath
Unix-tyylisille poluille -
ntpath
Windowsin poluille
muutettu versio 3.8: exists()
, lexists()
, isdir()
, isfile()
,islink()
, ja ismount()
nyt palaa False
sen sijaan, että tehtäisiin poikkeus poluille, jotka sisältävät merkkejä tai jotka eivät ole EDUSTETTAVISSA käyttöjärjestelmätasolla.
os.path.
abspath
(polku)¶
Palauta normalisoitu absoluuttinen versio polkunimen polusta. Mostplatformsilla tämä vastaa funktion kutsumista normpath()
asfollows: normpath(join(os.getcwd(), path))
.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
basename
(polku)¶
Palauta polkunimen polun perusnimi. Tämä on toinen elementti, joka palautetaan kulkemalla polku funktiolle split()
. Huomaa, että tämän funktion tulos eroaa Unix-basenimen ohjelmasta; jos basenimi'/foo/bar/'
palauttaa 'bar'
, basename()
funktio palauttaa tyhjän merkkijonon (''
).
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
commonpath
(polut)¶
Palauta kunkin polkunimen pisin yhteinen alipolku sekvenssipoluille. Korota ValueError
jos polut sisältävät sekä absoluuttiset että suhteelliset polkunimet, polut ovat eri asemilla tai polut ovat tyhjiä. Toisin kuin commonprefix()
, tämä palauttaa avalidin polun.
Saatavuus: Unix, Windows.
uusi versio 3.5.
muutettu versio 3.6: Hyväksyy polun kaltaisten objektien sarjan.
os.path.
commonprefix
(luettelo)¶
Palauta pisin polku-etuliite (otettu merkkikohtaisesti), joka on aprefix kaikista luettelon poluista. Jos luettelo on tyhjä, palauta tyhjä merkkijono (''
).
Huomautus
tämä funktio voi palauttaa virheelliset polut, koska se toimii acharacter kerrallaan. Jos haluat saada kelvollisen polun, katsocommonpath()
.
>>> os.path.commonprefix()'/usr/l'>>> os.path.commonpath()'/usr'
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
dirname
(polku)¶
Palauta polkunimen polun kansionimi. Tämä on ensimmäinen alkio parista, joka on palautettu kulkemalla polku funktiolle split()
.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
exists
(path)¶
Return True
if path referres to an existing path or an openfile descriptor. Palauttaa False
rikkinäisille symbolisille linkeille. Joillakin alustoilla tämä toiminto voi palata False
, jos lupaa os.stat()
suorittamiseen ei myönnetä pyydetyssä tiedostossa, vaikka polku olisi fyysisesti olemassa.
muutettu versio 3.3: polku voi nyt olla kokonaisluku: True
palautetaan, jos se on avoin tiedostokuvaus, False
muuten.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
lexists
(polku)¶
palaa True
, jos polku viittaa olemassa olevaan polkuun. Palauttaa True
forbroken symbolic links. Vastaa exists()
laitureilla, joilta puuttuuos.lstat()
.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
expanduser
(polku)¶
Unixissa ja Windowsissa palauta argumentti, jonka alkuperäinen osa on ~
tai~user
korvattu kyseisen käyttäjän kotihakemistolla.
Unixissa alkutunnus ~
korvataan ympäristömuuttujalla HOME
, jos se on asetettu; muussa tapauksessa nykyisen käyttäjän kotihakemisto etsitään avainsanahakemistosta sisäänrakennetun moduulin pwd
kautta. Alkuperäinen ~user
etsitään suoraan salasanahakemistosta.
Windowsissa USERPROFILE
käytetään, jos se on asetettu, muuten käytetään HOMEPATH
ja HOMEDRIVE
– yhdistelmää. Alkuperäinen~user
käsitellään poistamalla viimeinen hakemistokomponentti yllä olevasta createduser-polusta.
jos laajennus epäonnistuu tai jos polku ei ala tildellä, polku käännetään muuttumattomana.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
muutettu versio 3.8: ei enää käytä HOME
Windowsissa.
os.path.
expandvars
(polku)¶
Palauta argumentti laajennetulla ympäristömuuttujalla. Substraatit, joiden muoto on$name
tai ${name}
, korvataan ympäristön vaihtelevan nimen arvolla. Muuttujan virheelliset nimet ja viittaukset ei-olemassa oleviin muuttujiin eivät muutu.
Windowsissa %name%
laajennuksia tuetaan $name
ja${name}
lisäksi.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
getatime
(polku)¶
Palauta polun viimeinen käyttöaika. Palautusarvo on liukulukuluku, joka kertoo ajasta kuluneiden sekuntien määrän (katso time
moduuli). KorotaOSError
, jos tiedostoa ei ole olemassa tai se ei ole saatavilla.
os.path.
getmtime
(polku)¶
Palauta polun viimeisen muutoksen aika. Palautusarvo on liukulukuluku, joka kertoo ajankohdan jälkeisten sekuntien määrän (katso time
moduuli).Korota OSError
, jos tiedostoa ei ole olemassa tai se ei ole saatavilla.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
getctime
(polku)¶
Palauta järjestelmän C-aika, joka joissakin järjestelmissä (kuten Unixissa) on viimeisen metatiedon muutoksen aika ja toisissa (kuten Windowsissa) polun luomisaika.Paluuarvo on luku, joka kertoo ajankohdan jälkeisten sekuntien määrän (seethe time
moduuli). Korota OSError
, jos tiedostoa ei ole tai se ei ole saatavilla.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
getsize
(polku)¶
Palauta polun koko tavuina. Korota OSError
, jos tiedostoa ei ole olemassa tai se ei ole saatavilla.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
isabs
(polku)¶
Palauta True
, jos polku on absoluuttinen polkunimi. Unix, se tarkoittaa itbegins kauttaviiva, Windows, että se alkaa (takaisin)kauttaviiva jälkeen pilkkominen mahdollisen aseman kirjain.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
isfile
(polku)¶
Palauta True
, jos polku on existing
tavallinen tiedosto.Tämä seuraa symbolisia linkkejä, joten sekä islink()
että isfile()
voivat pitää paikkansa samalla polulla.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
isdir
(polku)¶
Palauta True
, jos polku on existing
kansio. Tämä seuraa symbolisia linkkejä, joten sekä islink()
että isdir()
voivat olla samaa polkua.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
islink
(polku)¶
paluu True
jos polku tarkoittaa existing
suuntaa, joka on symbolinen linkki. Aina False
jos Python-suoritusaika ei tue symbolisia linkkejä.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
ismount
(path)¶
Return True
if pathname path is a mount point: a point in afile system where a different file system has been mounted. POSIX-järjestelmässä toiminto tarkistaa, onko polun vanhempi, path/..
, eri laitteessa kuin polku, vai onko path/..
ja polkupiste samei-solmuun samalla laitteella — tämän pitäisi havaita liitospisteet kaikissa Unix-ja POSIX-versioissa. Se ei pysty luotettavasti havaitsemaan sidontakiinnikkeitä samaisessa tiedostojärjestelmässä. Windowsissa asemakirjaimen root ja jaa UNC ovat aina asennuspisteitä, ja mille tahansa muulle polulle GetVolumePathName
kutsutaan katsomaan, onko se erilainen kuin syöttöpolku.
uusi versio 3.4: tuki ei-juurikiinnityspisteiden havaitsemiseen Windowsissa.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
join
(polku, * polut)¶
yhdistä yksi tai useampi polkukomponentti älykkäästi. Palautusarvo on polkujen ja niiden *polkujen jäsenten yhteenlasku, joissa on täsmälleen yksi hakemistonerotin (os.sep
) jokaisen ei-tyhjän osan jälkeen, paitsi viimeisen osan jälkeen, mikä tarkoittaa, että tulos päättyy erottimeen vain, jos viimeinen osa on tyhjä. Jos komponentti on absoluuttinen polku, kaikki aiemmat osat heitetään pois ja liittyminen jatkuu absoluuttisesta polkukomponentista.
Windowsissa aseman kirjainta ei nollata, kun kohdalle tulee absoluuttinen polkukomponentti(esim. r'\foo'
). Jos osa sisältää voimansiirron, kaikki aiemmat osat heitetään pois ja voimansiirron kirjain asetetaan paikalleen. Huomaa, että koska jokaiselle asemalle on olemassa nykyinen hakemisto,os.path.join("c:", "foo")
edustaa polkua suhteessa aseman nykyiseen hakemistoon C:
(c:foo
), ei c:\foo
.
muutettu versio 3.6: Hyväksyy polkujen ja polkujen kaltaisen objektin.
os.path.
normcase
(polku)¶
normalisoi polkunimen tapaus. Windows, muuntaa kaikki merkit thepathname pieniksi kirjaimiksi, ja myös muuntaa eteenpäin viillot taaksepäin viillot.Muissa käyttöjärjestelmissä palauta polku ennalleen.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
normpath
(polku)¶
normalisoi polkunimi romahtamalla tarpeettomat erottimet ja ylätasoviitteet niin, että A//B
, A/B/
, A/./B
ja A/foo/../B
allbecome A/B
. Tämä merkkijonon manipulointi voi muuttaa symbolisia linkkejä sisältävän polun merkitystä. Ikkunoissa se muuntaa eteenpäin viillot taaksepäin viilloiksi. Jos haluat normalisoida tapauksen, käytä normcase()
.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
realpath
(polku)¶
Palauta määritellyn tiedostonimen kanoninen polku ja poista kaikki symboliset linkit, joita polussa on (jos käyttöjärjestelmä tukee niitä).
Huomautus
symbolisten linkkisyklien sattuessa palautettu polku on yksi syklin jäsen, mutta ei ole takeita siitä, kuka jäsen se on.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
muutettu versio 3.8: symboliset linkit ja liitokset ratkaistaan nyt Windowsissa.
os.path.
relpath
(polku, start=os.curdir)¶
Palauta suhteellinen tiedostotie polkuun joko nykyisestä hakemistosta tai valinnaisesta aloitushakemistosta. Tämä on polkulaskenta: filesystem ei pääse vahvistamaan polun tai käynnistyksen olemassaoloa tai luonnetta.
aloituksen oletusarvo on os.curdir
.
Saatavuus: Unix, Windows.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
samefile
(path1, path2)¶
Palauta True
, jos molemmat pathname-argumentit viittaavat samaan tiedostoon tai kansioon.Tämä määräytyy laitteen numeron ja I-solmun numeron perusteella ja aiheuttaa poikkeaman, jos os.stat()
puhelu jommassakummassa polkunimessä epäonnistuu.
Saatavuus: Unix, Windows.
muutettu versio 3.2: lisätty Windows-tuki.
muutettu versio 3.4: Windows käyttää nyt samaa toteutusta kuin kaikki muutkin alustat.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
sameopenfile
(fp1, fp2)¶
palaa True
, jos tiedostokuvaukset fp1 ja fp2 viittaavat samaan tiedostoon.
Saatavuus: Unix, Windows.
muutettu versio 3.2: lisätty Windows-tuki.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
samestat
(stat1, stat2)¶
Palauta True
, jos stat1 ja stat2 viittaavat samaan tiedostoon.Näihin rakenteisiin on saattanut palata os.fstat()
,os.lstat()
tai os.stat()
. Tämä funktio toteuttaa samefile()
: n ja sameopenfile()
: n käyttämän vertailun.
Saatavuus: Unix, Windows.
muutettu versio 3.4: lisätty Windows-tuki.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
split
(polku)¶
Jaa polkunimen polku pariksi, (head, tail)
jossa häntä on viimeinen polkunimen komponentti ja pää on kaikki siihen johtava. Pyrstöosa ei koskaan sisällä vinoviivaa; jos polku päättyy vinoviivaan, pyrstö on tyhjä. Jos polulla ei ole vinoviivaa, pää on tyhjä. Jos polku on tyhjä, sekä pää että häntä ovat tyhjiä. Perään viillot poistetaan päästä, ellei kyseessä ole JUURI (vain yksi tai useampi viilto). Kaikissa tapauksissa join(head, tail)
palauttaa polun samaan paikkaan kuin polun (mutta merkkijonot voivat erota). Katso myös funktiot dirname()
jabasename()
.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
splitdrive
(polku)¶
Jaa polkunimen polku pariksi (drive, tail)
, jossa asema on eitheran liitospiste tai tyhjä merkkijono. Järjestelmissä, jotka eivät käytä drivespecifications, drive on aina tyhjä merkkijono. Kaikissa tapauksissa drive+ tail
on sama kuin polku.
Windowsissa jakaa polkunimen asemaan / UNC sharepoint ja suhteelliseen polkuun.
jos polku sisältää aseman kirjaimen, asema sisältää everything up to the colon.esim. splitdrive("c:/dir")
palauttaa ("c:", "/dir")
jos polku sisältää UNC-polun, asema sisältää isäntänimen ja jaon aina neljänteen erottimeen asti, mutta ei sisällä sitä.esim. splitdrive("//host/computer/dir")
palauttaa ("//host/computer", "/dir")
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
splitext
(polku)¶
Jaa polkunimen polku pariksi (root, ext)
siten, että root + ext ==path
, ja ext on tyhjä tai alkaa jaksolla ja sisältää korkeintaan yhden jakson. Pääjaksot perusnimellä jätetään huomiotta; splitext('.cshrc')
palauttaa ('.cshrc', '')
.
muutettu versio 3.6: Hyväksyy polkumaisen objektin.
os.path.
supports_unicode_filenames