Python-hakemisto ja tiedostojen hallinta

Tässä opetusohjelmassa opit tiedostojen ja hakemistojen hallinnasta Pythonissa, ts. Hakemiston luomisesta, sen uudelleennimeämisestä, kaikkien hakemistojen luettelosta ja niiden kanssa työskentelystä.

Video: Python os -moduuli

Python-hakemisto

Jos Python-ohjelmassa on paljon käsiteltäviä tiedostoja, voimme järjestää koodimme eri hakemistoihin, jotta asiat olisivat hallittavampia.

Hakemisto tai kansio on kokoelma tiedostoja ja alihakemistoja. Pythonilla on osmoduuli, joka tarjoaa meille monia hyödyllisiä menetelmiä hakemistojen (ja myös tiedostojen) käsittelemiseksi.

Hanki nykyinen hakemisto

Voimme saada nykyisen työhakemiston moduulin getcwd()menetelmällä os.

Tämä menetelmä palauttaa nykyisen työhakemiston merkkijonon muodossa. Voimme myös käyttää getcwdb()menetelmää sen saamiseksi tavuobjektina.

 >>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'

Ylimääräinen kääntöviiva tarkoittaa pakosarjaa. print()Toiminto toistettava tämä oikein.

 >>> print(os.getcwd()) C:Program FilesPyScripter

Hakemiston vaihtaminen

Voimme muuttaa nykyistä työhakemistoa chdir()menetelmällä.

Uusi polku, johon haluamme muuttaa, on toimitettava merkkijonona tälle menetelmälle. Voimme käyttää sekä eteenpäin /että taaksepäin kauttaviivaa erottaa polkuelementit.

On turvallisempaa käyttää pakosarjaa taaksepäin kauttaviivaa käytettäessä.

 >>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33

Luettelo hakemistoista ja tiedostoista

Kaikki hakemiston tiedostot ja alihakemistot voidaan hakea listdir()menetelmällä.

Tämä menetelmä vie polun ja palauttaa luettelon polun alihakemistoista ja tiedostoista. Jos polkua ei ole määritetty, se palauttaa luettelon alihakemistoista ja tiedostoista nykyisestä työhakemistosta.

 >>> print(os.getcwd()) C:Python33 >>> os.listdir() ('DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools') >>> os.listdir('G:\') ('$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information')

Uuden hakemiston luominen

Voimme tehdä uuden hakemiston mkdir()menetelmällä.

Tämä menetelmä vie uuden hakemiston polun. Jos koko polkua ei ole määritetty, uusi hakemisto luodaan nykyiseen työhakemistoon.

 >>> os.mkdir('test') >>> os.listdir() ('test')

Hakemiston tai tiedoston uudelleennimeäminen

rename()Menetelmä voi nimetä hakemiston tai tiedoston.

Jos haluat nimetä minkä tahansa hakemiston tai tiedoston, rename()menetelmässä käytetään kahta perusargumenttia: vanha nimi ensimmäisenä argumenttina ja uusi nimi toisena argumenttina.

 >>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')

Hakemiston tai tiedoston poistaminen

Tiedosto voidaan poistaa (poistaa) remove()menetelmällä.

Samoin rmdir()menetelmä poistaa tyhjän hakemiston.

 >>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()

Huomaa : rmdir()Menetelmä voi poistaa vain tyhjät hakemistot.

Tyhjän hakemiston poistamiseksi voimme käyttää rmtree()menetelmää shutilmoduulin sisällä .

 >>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()

Mielenkiintoisia artikkeleita...