Bagean ing ngisor iki nerangake carane nggawe lan nyimpen file anyar ing Python nggunakake direktori anyar (folder) minangka tujuan.
- Kesalahan nalika nemtokake direktori sing ora ana kanthi mbukak ()(
FileNotFoundError
) os.makedirs()
Nggawe direktori- Conto kode kanggo nggawe file anyar kanthi tujuan
Ing ngisor iki minangka conto file teks.
Nalika nyimpen gambar, gumantung ing perpustakaan apa sampeyan bisa nemtokake path sing kalebu direktori non-ana (utawa bakal nggawe kanthi otomatis yen ora ana).FileNotFoundError
Yen ana kesalahan iki, sampeyan bisa nggawe direktori anyar karo os.madeirs () sadurunge nglakokaké fungsi kanggo nyimpen, minangka conto ing ngisor iki.
Kesalahan nalika nemtokake direktori sing ora ana kanthi mbukak ()(FileNotFoundError)
Nalika nggawe file anyar karo dibangun ing fungsi mbukak (), ana kesalahan yen path ngemot direktori anyar (direktori sing ora ana) ditemtokake minangka argumen pisanan minangka tujuan.(FileNotFoundError
)
open('not_exist_dir/new_file.txt', 'w')
# FileNotFoundError
Argumentasi pisanan mbukak () bisa dadi path absolut utawa path relatif kanggo direktori saiki.
Kanggo panggunaan dhasar mbukak (), kayata nggawe file anyar ing direktori sing wis ana, utawa nimpa utawa nambah file sing ana, deleng artikel ing ngisor iki.
Nggawe direktori(os.makedirs())
Nalika nggawe file anyar ing direktori non-ana, iku perlu kanggo nggawe direktori sadurunge mbukak ().
Yen sampeyan nggunakake Python 3.2 utawa mengko, iku trep nggunakake os.makedirs () karo argumen exist_ok = True. Sanajan direktori target wis ana, ora ana kesalahan lan direktori bisa digawe bebarengan.
import os
os.makedirs(new_dir_path, exist_ok=True)
Yen sampeyan duwe versi lawas saka Python lan ora duwe argumen exist_ok ing os.makedirs (), sampeyan bakal entuk kesalahan yen sampeyan nemtokake path menyang direktori sing ana, supaya nggunakake os.path.exists () kanggo mriksa kanggo. anane direktori dhisik.
if not os.path.exists(new_dir_path):
os.makedirs(new_dir_path)
Deleng artikel ing ngisor iki kanggo rincian.
- Artikel sing gegandhengan:makedirs kanggo nggawe direktori hierarkis kanthi rekursif ing Python
Conto kode kanggo nggawe file anyar kanthi tujuan
Ing ngisor iki minangka conto kode fungsi sing nggawe lan nyimpen file anyar kanthi nemtokake direktori tujuan.
Argumen pisanan dir_path minangka path direktori tujuan, argumen nomer loro yaiku jeneng file anyar sing bakal digawe, lan argumen file_content katelu minangka konten sing bakal ditulis, saben ditemtokake minangka string.
Yen direktori sing ditemtokake ora ana, gawe direktori anyar.
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)
Gunakake kaya ing ngisor iki.
save_file_at_dir('new_dir/sub_dir', 'new_file.txt', 'new text')
Ing kasus iki, file new_file.txt karo isi “teks anyar” bakal digawe ing new_dir\sub_dir. Ing tembung liyane, file ing ngisor iki bakal digawe anyar.new_dir/sub_dir/new_file.txt
Concatenating direktori lan jeneng berkas karo os.path.join ().
Uga, mode mbukak () ditemtokake minangka argumen. Kanggo file teks, standar ‘w’ apik, nanging yen sampeyan pengin nggawe file binar, atur mode = ‘wb’.