Búa til og vista skrár í nýrri möppu í Python

Viðskipti

Eftirfarandi hlutar útskýra hvernig á að búa til og vista nýja skrá í Python með því að nota nýja möppu (möppu) sem áfangastað.

  • Villa þegar tilgreind var skrá sem ekki er til með open()(FileNotFoundError)
  • os.makedirs()Búðu til möppu
  • Dæmi um kóða til að búa til nýja skrá með áfangastað

Eftirfarandi er dæmi um textaskrá.

Þegar myndir eru geymdar fer það eftir safninu hvort hægt sé að tilgreina slóð sem inniheldur möppu sem ekki er til (eða hvort hún mun sjálfkrafa búa til slíka ef hún er ekki til).
FileNotFoundErrorEf þessi villa kemur upp geturðu búið til nýja möppu með os.madeirs() áður en þú keyrir aðgerðina til að vista, eins og í eftirfarandi dæmi.

Villa þegar tilgreind var skrá sem ekki er til með open()(FileNotFoundError)

Þegar ný skrá er búin til með innbyggðu aðgerðinni open(), kemur upp villa ef slóð sem inniheldur nýja möppu (möppu sem er ekki til) er tilgreind sem fyrstu viðfangsefni sem áfangastaður.(FileNotFoundError)

open('not_exist_dir/new_file.txt', 'w')
# FileNotFoundError

Fyrstu rökin fyrir open() geta verið alger slóð eða slóð miðað við núverandi möppu.

Fyrir grunnnotkun open(), eins og að búa til nýja skrá í núverandi möppu, eða skrifa yfir eða bæta við núverandi skrá, vísa til eftirfarandi greinar.

Búðu til möppu(os.makedirs())

Þegar ný skrá er búin til í möppu sem ekki er til er nauðsynlegt að búa til möppuna áður en open().

Ef þú ert að nota Python 3.2 eða nýrri, þá er þægilegt að nota os.makedirs() með röksemdinni exist_ok=True. Jafnvel þó að markskráin sé þegar til mun engin villa eiga sér stað og hægt er að búa til möppuna í einu.

import os

os.makedirs(new_dir_path, exist_ok=True)

Ef þú ert með eldri útgáfu af Python og ert ekki með rökin exist_ok í os.makedirs(), færðu villu ef þú tilgreinir slóðina að möppu sem er til, svo notaðu os.path.exists() til að athuga hvort tilvist möppunnar fyrst.

if not os.path.exists(new_dir_path):
    os.makedirs(new_dir_path)

Sjá eftirfarandi grein fyrir frekari upplýsingar.

Dæmi um kóða til að búa til nýja skrá með áfangastað

Eftirfarandi er kóðadæmi um aðgerð sem býr til og vistar nýja skrá með því að tilgreina áfangaskrá.

Fyrsta rifrildið dir_path er slóð áfangaskrárinnar, annað rifrildið skráarnafn er nafn nýju skráarinnar sem á að búa til og þriðja rökin file_content er innihaldið sem á að skrifa, hver tilgreint sem strengur.

Ef tilgreind mappa er ekki til skaltu búa til nýja.

import os

def save_file_at_dir(dir_path, filename, file_content, mode='w'):
    os.makedirs(dir_path, exist_ok=True)
    with open(os.path.join(dir_path, filename), mode) as f:
        f.write(file_content)

Notaðu sem hér segir.

save_file_at_dir('new_dir/sub_dir', 'new_file.txt', 'new text')

Í þessu tilviki verður skráin new_file.txt með innihaldinu „nýr texti“ búin til í new_dir\sub_dir. Með öðrum orðum, eftirfarandi skrá verður nýbúin.new_dir/sub_dir/new_file.txt

Sameina möppu- og skráarnöfn með os.path.join().

Einnig er háttur open() tilgreindur sem rök. Fyrir textaskrár er sjálfgefið ‘w’ fínt, en ef þú vilt búa til tvíundarskrá skaltu stilla mode=’wb’.

Copied title and URL