Python дээр шинэ директорт файл үүсгэх, хадгалах

Бизнес эрхэлдэг

Дараах хэсгүүдэд шинэ директор (хавтас) ашиглан Python дээр хэрхэн шинэ файл үүсгэх, хадгалах талаар тайлбарлана.

  • open()-тай байхгүй лавлахыг зааж өгөхөд алдаа гарлаа.(FileNotFoundError)
  • os.makedirs()Лавлах үүсгэх
  • Очих газартай шинэ файл үүсгэх жишээ код

Дараах нь текст файлын жишээ юм.

Зургийг хадгалахдаа байхгүй лавлахыг агуулсан замыг зааж өгөх эсэх (эсвэл байхгүй бол автоматаар үүсгэх эсэх) нь номын сангаас хамаарна.
FileNotFoundErrorХэрэв энэ алдаа гарвал та дараах жишээн дээрх шиг хадгалах функцийг гүйцэтгэхийн өмнө os.madeirs()-аар шинэ лавлах үүсгэж болно.

open()-тай байхгүй лавлахыг зааж өгөхөд алдаа гарлаа.(FileNotFoundError)

Open() суулгасан функцтэй шинэ файл үүсгэх үед шинэ лавлах (байгаа лавлах) агуулсан замыг очих газрын эхний аргумент болгон зааж өгвөл алдаа гарна.(FileNotFoundError)

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

Open()-ийн эхний аргумент нь үнэмлэхүй зам эсвэл одоогийн лавлахтай холбоотой зам байж болно.

Open()-ийн үндсэн хэрэглээний талаар, тухайлбал, одоо байгаа директор дотор шинэ файл үүсгэх, эсвэл байгаа файлыг дарж бичих, хавсаргах зэргийг дараах нийтлэлээс үзнэ үү.

Лавлах үүсгэх(os.makedirs())

Байгаагүй директорт шинэ файл үүсгэх үед open()-ээс өмнө уг лавлахыг үүсгэх шаардлагатай.

Хэрэв та Python 3.2 эсвэл түүнээс хойшхи хувилбарыг ашиглаж байгаа бол os.makedirs()-г exist_ok=True аргументтай ашиглахад тохиромжтой. Зорилтот лавлах аль хэдийн байгаа байсан ч ямар ч алдаа гарахгүй бөгөөд лавлахыг нэг дор үүсгэж болно.

import os

os.makedirs(new_dir_path, exist_ok=True)

Хэрэв танд Python-ийн хуучин хувилбар байгаа бөгөөд os.makedirs() доторх exist_ok аргумент байхгүй бол та байгаа директор руу явах замыг зааж өгвөл алдаа гарах тул os.path.exists() ашиглан шалгана уу. эхлээд лавлах байгаа эсэх.

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

Дэлгэрэнгүйг дараах нийтлэлээс үзнэ үү.

Очих газартай шинэ файл үүсгэх жишээ код

Дараах нь очих директорийг зааж өгснөөр шинэ файл үүсгэж хадгалах функцийн кодын жишээ юм.

Эхний аргумент dir_path нь очих директорын зам, хоёр дахь аргументын файлын нэр нь шинээр үүсгэх файлын нэр, гурав дахь аргумент file_content нь бичих контент бөгөөд тус бүр нь мөр хэлбэрээр тодорхойлогддог.

Хэрэв заасан лавлах байхгүй бол шинээр үүсгэ.

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)

Дараах байдлаар хэрэглэнэ.

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

Энэ тохиолдолд “шинэ текст” агуулгатай new_file.txt файлыг new_dir\sub_dir-д үүсгэнэ. Өөрөөр хэлбэл дараах файл шинээр үүсгэгдэнэ.new_dir/sub_dir/new_file.txt

Лавлах болон файлын нэрийг os.path.join()-тай холбох.

Мөн open() горимыг аргумент болгон зааж өгсөн. Текст файлуудын хувьд өгөгдмөл “w” нь зүгээр, гэхдээ хоёртын файл үүсгэхийг хүсвэл mode=’wb’-г тохируулна уу.

Copied title and URL