kildekode: Lib/posixpath.py (til position) andLib/ntpath.py (for vinduer NT).
dette modul implementerer nogle nyttige funktioner på stinavne. For at læse eller skrive filer se open()
, og for at få adgang til filsystemet seos
modulet. Stiparametrene kan overføres som enten strenge eller bytes. Ansøgninger opfordres til at repræsentere filnavne som(Unicode) tegnstrenge. Desværre kan nogle filnavne muligvis ikke repræsenteres som strenge på mbcs
– kodning), hvorfor vinduer applikationer skal bruge strengobjekter til at få adgang til alle filer.
i modsætning til en unik shell gør Python ikke nogen automatiske stiudvidelser.Funktioner som expanduser()
og expandvars()
kan invokeseksplicit, når en applikation ønsker shell-lignende stiudvidelse. (Se ogsåmodulet glob
.)
se også
modulet pathlib
tilbyder baneobjekter på højt niveau.
Bemærk
alle disse funktioner accepterer enten kun bytes eller kun strengobjekter somderes parametre. Resultatet er et objekt af samme type, hvis en sti ellerfilnavn returneres.
Bemærk
da forskellige operativsystemer har forskellige sti-navnekonventioner, er der flere versioner af dette modul i standardbiblioteket. Moduletos.path
er altid det stimodul, der er egnet til driftsystemet Python kører på, og derfor anvendeligt til lokale stier. Du kan dog også importere og bruge de enkelte moduler, hvis du vil manipulereen sti, der altid er i et af de forskellige formater. De har alle den samme grænseflade:
-
posixpath
til unikke stier -
ntpath
til vinduer stier
ændret i version 3.8: exists()
, lexists()
, isdir()
, isfile()
,islink()
, og ismount()
Vend nu tilbage False
i stedet forhæve en undtagelse for stier, der indeholder tegn eller bytesurepræsentable på OS-niveau.
os.path.
abspath
(7556 > returner en normaliseret absolutiseret version af stiennavnstien. På mostplatforms svarer dette til at kalde funktionennormpath()
asfølger:normpath(join(os.getcwd(), path))
.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
basename
(sti) venstre
returner basisnavnet på stiens sti. Dette er det andet element ipar returneres ved at passere sti til funktionen split()
. Bemærk, at resultatet af denne funktion er anderledesfra det unikke basenavnsprogram; hvor basenavn for '/foo/bar/'
returnerer 'bar'
, returnerer funktionenbasename()
en tom streng (''
).
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
commonpath
(7556 > returner den længste fælles understi for hvert stinavn i sekvensbanerne. HævValueError
hvis stier indeholder både absolutog relative stinavne, stierne er på de forskellige drev ellerhvis stier er tomme. I modsætning tilcommonprefix()
returnerer dette en lav sti.
Tilgængelighed: Unik, Vinduer.
nyt i version 3.5.
ændret i version 3.6: accepterer en sekvens af stilignende objekter.
os.path.
commonprefix
(7556 > returner det længste stipræfiks (taget tegn for tegn), der er en rettelse af alle stier i listen. Hvis listen er tom, skal du returnere den tomme streng (''
).
Bemærk
denne funktion kan returnere ugyldige stier, fordi den fungerer akarakter ad gangen. For at få en gyldig sti, secommonpath()
.
>>> os.path.commonprefix()'/usr/l'>>> os.path.commonpath()'/usr'
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
dirname
(sti) venstre
returner katalognavnet på stiens sti. Dette er det første element afparret returneres ved at passere sti til funktionen split()
.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
exists
(sti)
retur True
hvis sti refererer til en eksisterende sti eller en openfile deskriptor. Returnerer False
for brudte symbolske links. På nogle platforme kan denne funktion returnere False
, hvis der ikke gives tilladelse til at udføre os.stat()
på den ønskede fil, selvhvis stien fysisk eksisterer.
ændret i version 3.3: sti kan nu være et heltal: True
returneres, hvis det er en åben filbeskrivelse, False
ellers.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
lexists
(sti) (
retur True
hvis sti refererer til en eksisterende sti. Retur True
forbro symboliske links. Svarende til exists()
på platforme mangleros.lstat()
.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
expanduser
(
returner argumentet med en indledende komponent på ~
eller~user
erstattet af brugerens hjemmemappe.
på unik, en initial ~
erstattes af miljøvariablen HOME
hvis den er indstillet; ellers slås den aktuelle brugers hjemmemappe op iadgangskodekataloget gennem det indbyggede modul pwd
. En initial ~user
slås op direkte i adgangskodekataloget.
på vinduer vil USERPROFILE
blive brugt, hvis den er indstillet, ellers vil en kombinationaf HOMEPATH
og HOMEDRIVE
blive brugt. En initial~user
håndteres ved at fjerne den sidste katalogkomponent fra den oprettede brugersti, der er afledt ovenfor.
hvis udvidelsen mislykkes, eller hvis stien ikke begynder med en tilde, bliver stien vendt uændret.
ændret i version 3.6: accepterer et stilignende objekt.
ændret i version 3.8: bruger ikke længere HOME
på vinduer.
os.path.
expandvars
(7556 > returner argumentet med udvidede miljøvariabler. Understrenge af formularen$name
eller${name}
erstattes af værdien af miljøvariablenavn. Misdannede variabelnavne og henvisninger til ikke-eksisterende variabler erforlod uændret.
på vinduer, %name%
udvidelser understøttes i tillæg til$name
og ${name}
.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
getatime
(7556 > returner tidspunktet for sidste adgang til sti. Returværdien er et flydende punkt nummer giverantallet af sekunder siden epoken (setime
modulet). HævOSError
hvis filen ikke findes eller er utilgængelig.os.path.
getmtime
(7556 > returner tidspunktet for sidste ændring af stien. Returværdien er et floating point numbergiver antallet af sekunder siden epoken (setime
modulet).HævOSError
hvis filen ikke findes eller er utilgængelig.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
getctime
(7556 > returner systemets ctime, som på nogle systemer (som unik) er tidspunktet for den seneste metadataændring, og på andre (som vinduer) er oprettelsestiden for STI.Returværdien er et tal, der angiver antallet af sekunder siden epoken (seethetime
modul). HævOSError
hvis filen ikke findes ellerer utilgængelig.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
getsize
(7556 > returner størrelsen, i bytes, af stien. HævOSError
hvis filen ikke findes eller er utilgængelig.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
isabs
(sti) venstre
retur True
hvis sti er et absolut stinavn. Det betyder, at detbegynder med en skråstreg, på Vinduer, at det begynder med en (tilbage)skråstreg efter choppingoff et potentielt drevbogstav.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
isfile
(sti) til venstre
retur True
hvis sti er en existing
almindelig fil.Dette følger symbolske links, så både islink()
og isfile()
kan være sandt for den samme sti.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
isdir
(sti) venstre
retur True
hvis sti er en existing
mappe. Dette følger symbolske links, så både islink()
og isdir()
kan være sandefor den samme vej.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
islink
(sti) venstre
retur True
hvis sti henviser til en existing
directoryentry, der er et symbolsk link. Altid False
hvis symbolske links ikke erunderstøttet af Python runtime.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
ismount
(sti)
Return True
hvis stinavn sti er et monteringspunkt: et punkt i afile system, hvor et andet filsystem er monteret. Funktionen kontrollerer, om Stiens forælder, path/..
, er på en anden enhed end sti, eller om path/..
og sti peger på samei-noden på den samme enhed — dette skal registrere monteringspunkter for alle forskellige varianter. Det er ikke i stand til pålideligt at registrere bindefester påsamme filsystem. På vinduer er et drevbogstav rod og en del UNCALTID montere punkter, og for enhver anden sti GetVolumePathName
kaldesfor at se om det er forskelligt fra inputstien.
nyt i version 3.4: støtte til påvisning af ikke-root mount punkter på vinduer.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
join
(sti, * stier) prist
Deltag en eller flere sti komponenter intelligent. Returværdien er sammenkædning af sti og eventuelle medlemmer af * stier med nøjagtigt enmappeseparator (os.sep
) efter hver ikke-tom del undtagen den sidste, hvilket betyder, at resultatet kun ender i en separator, hvis den sidste del er tom. Hvis en komponent er en absolut sti, smides alle tidligerekomponenter væk, og sammenføjning fortsætter fra den absolutte stiekomponent.
på vinduer nulstilles drevbogstavet ikke, når der opstår en absolut sti-komponent(f.eks. r'\foo'
). Hvis en komponent indeholder et drevbogstav, alle tidligere komponenter smides væk, og drevbogstavet isreset. Bemærk, at da der er en aktuel mappe for hvert drev, repræsentereros.path.join("c:", "foo")
en sti i forhold til currentdirectory på drev C:
(c:foo
), ikke c:\foo
.
ændret i version 3.6: accepterer et stilignende objekt til sti og stier.
os.path.
normcase
(sti) venstre
Normaliser tilfældet med et stinavn. På vinduer skal du konvertere alle tegn ipatenavn til små bogstaver, og også konvertere fremad skråstreger til bagudgående skråstreger.På andre operativsystemer skal du returnere stien uændret.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
normpath
(7556 > Normaliser et stinavn ved at kollapse redundante separatorer og op-niveaureferencer, såA//B
,A/B/
,A/./B
ogA/foo/../B
allebliveA/B
. Denne strengmanipulation kan ændre betydningen af en stider indeholder symbolske links. På vinduer konverterer den fremad skråstreger tilbagsiden skråstreger. For at normalisere sagen skal du brugenormcase()
.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
realpath
(sti)
returner den kanoniske sti for det angivne filnavn, hvilket eliminerer eventuelle symbolskelinks, der opstår i stien (hvis de understøttes af driftsystemet).
Bemærk
når symbolske linkcykler forekommer, vil den returnerede sti være et medlem afcyklussen, men der gives ingen garanti for, hvilket medlem der vil være.
ændret i version 3.6: accepterer et stilignende objekt.
ændret i version 3.8: symbolske links og vejkryds er nu løst på vinduer.
os.path.
relpath
(sti, start=os.curdir) lp
returner en relativ filsti til sti enten fra den aktuelle mappe eller fra en valgfri startkatalog. Dette er en sti beregning: thefilesystem er ikke adgang til at bekræfte eksistensen eller arten af path orstart.
start standard til os.curdir
.
Tilgængelighed: Unik, Vinduer.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
samefile
(path1, path2) lit
Return True
hvis begge stinavnsargumenter henviser til den samme fil eller mappe.Dette bestemmes af enhedens nummer og i-node nummer og rejser en undtagelse, hvis et os.stat()
opkald på begge stinavne mislykkes.
Tilgængelighed: Unik, Vinduer.
ændret i version 3.2: tilføjet vinduer støtte.
ændret i version 3.4: vinduer bruger nu den samme implementering som alle andre platforme.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
sameopenfile
(fp1, fp2) ret
retur True
hvis filbeskrivelserne fp1 og fp2 henviser til den samme fil.
Tilgængelighed: Unik, Vinduer.
ændret i version 3.2: tilføjet vinduer støtte.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
samestat
(stat1, stat2) lp
retur True
hvis stat-tuplerne stat1 og stat2 henviser til den samme fil.Disse strukturer kan være returneret af os.fstat()
,os.lstat()
eller os.stat()
. Denne funktion implementerer den underliggende sammenligning, der anvendes af samefile()
og sameopenfile()
.
Tilgængelighed: Unik, Vinduer.
ændret i version 3.4: tilføjet vinduer støtte.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
split
(sti) Kristi
Opdel Stiens sti i et par, (head, tail)
hvor hale er den sidste stinavnskomponent og hoved er alt, der fører op til det. Dentail del vil aldrig indeholde en skråstreg; hvis stien ender i en skråstreg, halevil være tom. Hvis der ikke er nogen skråstreg i stien, vil hovedet være tomt. Hvis stien er tom, er både hoved og hale tom. Efterfølgende skråstreger erstrippet fra hovedet, medmindre det er roden (kun en eller flere skråstreger). I alle tilfælde returnerer join(head, tail)
en sti til samme placering som sti(men strengene kan variere). Se også funktionerne dirname()
ogbasename()
.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
splitdrive
(sti)
Opdel stinavnsstien i et par (drive, tail)
hvor drevet er entenet monteringspunkt eller den tomme streng. På systemer, der ikke bruger drevspecifikationer, drev vil altid være den tomme streng. I alle tilfælde vil drive+ tail
være den samme som sti.
på vinduer, opdeler et stinavn i Drev/UNC sharepoint og relativ sti.
hvis stien indeholder et drevbogstav, vil drevet indeholde Altop til og med tyktarmen.F. eks. splitdrive("c:/dir")
returns("c:", "/dir")
hvis stien indeholder en UNC-sti, vil drevet indeholde værtsnavnetog del, op til men ikke inklusive den fjerde separator.F. eks. splitdrive("//host/computer/dir")
vender tilbage ("//host/computer", "/dir")
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
splitext
(sti)
Opdel stinavnsstien i et par (root, ext)
sådan at root + ext ==path
, og ekst er tom eller begynder med en periode og indeholder højst enperiode. Ledende perioder på basenavnet ignoreres; splitext('.cshrc')
returnerer ('.cshrc', '')
.
ændret i version 3.6: accepterer et stilignende objekt.
os.path.
supports_unicode_filenames