Afirandin û tomarkirina pelan di pelrêça nû ya Python de

Dikan

Di beşên jêrîn de rave dike ka meriv çawa peldankek nû li Python-ê bi karanîna peldankek (peldankek) nû wekî mebest diafirîne û hilîne.

  • Çewtiya dema diyarkirina pelrêçek tine bi vekirî()(FileNotFoundError)
  • os.makedirs()Derhênerek çêbikin
  • Nimûne kodek ji bo afirandina pelek nû ya bi mebestek

Li jêr mînakek pelek nivîsê ye.

Dema ku wêneyan hilîne, ew bi pirtûkxaneyê ve girêdayî ye ka hûn dikarin rêyek ku pelrêçek tine tê de destnîşan bikin (an gelo ew ê bixweber yek çêbike heke ew tune be).
FileNotFoundErrorHeke ev xeletî çêbibe, hûn dikarin pelrêçekek nû bi os.madeirs() biafirînin berî ku fonksiyona hilanînê pêk bînin, wekî mînaka jêrîn.

Çewtiya dema diyarkirina pelrêçek tine bi vekirî()(FileNotFoundError)

Dema ku pelek nû bi fonksiyona vekirî(-ya vekirî) diafirîne, heke rêyek ku pelrêçek nû vedihewîne (pelrêkek ku tune ye) wekî argumana yekem wekî armanc were destnîşan kirin xeletiyek çê dibe.(FileNotFoundError)

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

Argumana yekem a open() dikare rêyek mutleq an rêyek li gorî pelrêça heyî be.

Ji bo karanîna bingehîn a open(), wek afirandina peldankek nû di pelrêça heyî de, an sernivîsandin an pêvekirina pelek heyî, li gotara jêrîn binihêrin.

Derhênerek çêbikin(os.makedirs())

Dema ku pelek nû di pelrêçek tine de diafirîne, pêdivî ye ku pelrêçek berî vekirî ().

Heke hûn Python 3.2 an nûtir bikar tînin, hêsan e ku hûn os.makedirs() bi argumana exist_ok=Rast bikar bînin. Her çend pelrêça mebest jixwe hebe jî, dê xeletiyek çênebe û pelrêç di carekê de were çêkirin.

import os

os.makedirs(new_dir_path, exist_ok=True)

Ger guhertoyek we ya kevntir a Python hebe û di os.makedirs() de argumana exist_ok tune be, ger hûn rêça pelrêça ku heye diyar bikin, hûn ê xeletiyek bistînin, ji ber vê yekê ji bo kontrolkirina os.path.exists() bikar bînin. hebûna pelrêça pêşîn.

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

Ji bo hûragahiyan li gotara jêrîn binêre.

Nimûne kodek ji bo afirandina pelek nû ya bi mebestek

Ya jêrîn mînakek kodek fonksiyonek e ku bi destnîşankirina pelrêça armancê pelek nû diafirîne û hilîne.

Argumenta yekem dir_path riya pelrêça mebestê ye, navê pelê argumana duyemîn navê pelê nû ye ku tê çêkirin, û argumana sêyemîn file_content naveroka ku were nivîsandin e, her yek wekî rêzek tê destnîşan kirin.

Ger pelrêça diyarkirî tune be, yekî nû biafirîne.

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)

Wekî jêrîn bikar bînin.

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

Di vê rewşê de, pelê new_file.txt bi naveroka “nivîsa nû” dê di new_dir\sub_dir de were çêkirin. Bi gotineke din, pelê jêrîn dê nû were afirandin.new_dir/sub_dir/new_file.txt

Bi os.path.join().

Di heman demê de, moda vekirî() wekî arguman tê destnîşan kirin. Ji bo pelên nivîsê, ‘w’ ya xwerû baş e, lê heke hûn dixwazin pelek binar biafirînin, moda = ‘wb’ saz bikin.

Copied title and URL