På denne side: open(), fil sti, CWD (‘current working directory”), r ‘rå string’ – præfiks, os.getc .d (), os.chdir ().
Referere til en Fil med en Fuld Sti og Navn
Som det ses i Tutorials #12 og #13, kan du henvise til en lokal fil i Python, der bruger filens fulde sti og filnavn., 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 Linu.og OS -. starter det med”/”, som kaldes root. Mapper er adskilt af en skråstreg”/”. Du kan slå en fils fulde katalogsti og filnavn op gennem dens “egenskaber”. Se, hvordan det gøres i denne fa..
henvisning til en fil i ndo .s
I Windowsindo .s er der et par yderligere måder at henvise til en fil på. Det skyldes, at naindo .s file path oprindeligt anvender backslash “\” i stedet for skråstreg. Python tillader at bruge begge i et systemindo .s-system, men der er et par faldgruber at passe på., For at opsummere dem:
genveje til filnavne og C .d (nuværende arbejdsmappe)
så ved hjælp af den fulde katalogsti og filnavnet fungerer altid; du skal bruge denne metode. Men, du måske har set filer kaldes ved deres navn kun, f alice, ‘ alice.t Int ‘ i Python. Hvordan gøres det?
begrebet nuværende arbejdsmappe (C .d) er afgørende her. Du kan tænke på det som den mappe din Python opererer inde i øjeblikket. Indtil videre har vi brugt den absolutte sti, der begynder fra den øverste mappe. Men hvis din filreference ikke starter fra toppen (f.eks.,t ,t’, ‘ ling1330/alice.t .t’) antager Python, at den starter i C .d (en “relativ sti”).
dette betyder, at en henvisning kun for navn kun vil blive vellykket, når filen er i din Pythons C .d. Men husk på, at din C .d kan ændre sig. Din Python har også forskellige indledende C .d-indstillinger afhængigt af om du arbejder med et Python-script eller i et shell-miljø.
- i et Python-script:
Når du udfører dit script, er din C .d indstillet til den mappe, hvor dit script er., Derfor kan du kun henvise til en fil i et script ved navn, forudsat at filen og scriptet er i samme mappe. Et eksempel:myfile = open('alice.txt') # alice.txt is in the same dir as foo.pymytxt = myfile.read()myfile.close()foo.py
- I Python shell:
I din shell, den første CWD indstilling varierer afhængigt af system. I Windowsindo ,s er standardplaceringen ofte ‘C:/program filer (8686) / Python35-32’ (hvilket er ubelejligt-se denne side “grundlæggende konfigurationer” eller denne ofte stillede spørgsmål for, hvordan du ændrer den). I OS -. er det normalt ‘/Users/username/Documents’ hvor brugernavn er dit bruger-ID. (Mac-brugere bør se denne FA.for, hvordan du ændrer din indstilling.,) Medmindre din fil tilfældigvis er i din C .d, har du to muligheder:- Skift din C .d til filens bibliotek, eller
- Kopier eller flyt din fil til din C .d. (Anbefales ikke, da din Skals C .d kan ændre sig.)
se dette skærmbillede og og det næste afsnit for, hvordan du arbejder med din C .d-indstilling i Python shell.
finde og ændre C .d
Python module os giver hjælpeprogrammer til at vise og ændre din nuværende arbejdsmappe. Nedenfor illustrerer, hvordan du finder din C .d (.getc andd ()) og ændre det til en anden mappe (.chdir ())., Nedenfor er et eksempel på windows OS:Bemærk at CWD, der returneres af Python-fortolkeren er i Windows fil sti format: det bruger den omvendte skråstreg “\” for bibliotek separator, og hver gang er undsluppet. Mens Python lader usersindo .s-brugere bruge Linu./OS-style style “/” i filstier, internt det bruger OS-native filsti format.