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’ орнатыңыз.