Креирање и чување датотека у новом директоријуму у Питхон-у

Бусинесс

Следећи одељци објашњавају како да креирате и сачувате нову датотеку у Питхон-у користећи нови директоријум (фолдер) као одредиште.

  • Грешка приликом навођења непостојећег директоријума помоћу опен()(FileNotFoundError)
  • os.makedirs()Креирајте директоријум
  • Пример кода за креирање нове датотеке са одредиштем

Следи пример текстуалне датотеке.

Када складиштите слике, зависи од библиотеке да ли можете да наведете путању која укључује непостојећи директоријум (или да ли ће га аутоматски креирати ако не постоји).
FileNotFoundErrorАко дође до ове грешке, можете креирати нови директоријум са ос.мадеирс() пре него што извршите функцију за чување, као у следећем примеру.

Грешка приликом навођења непостојећег директоријума помоћу опен()(FileNotFoundError)

Када креирате нову датотеку са уграђеном функцијом опен(), долази до грешке ако је путања која садржи нови директоријум (директориј који не постоји) наведена као први аргумент као одредиште.(FileNotFoundError)

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

Први аргумент опен() може бити апсолутна путања или путања у односу на тренутни директоријум.

За основну употребу опен(), као што је креирање нове датотеке у постојећем директоријуму или преписивање или додавање постојеће датотеке, погледајте следећи чланак.

Креирајте директоријум(os.makedirs())

Када креирате нову датотеку у непостојећем директоријуму, потребно је креирати директоријум пре опен().

Ако користите Питхон 3.2 или новију верзију, згодно је користити ос.македирс() са аргументом екист_ок=Труе. Чак и ако циљни директоријум већ постоји, неће доћи до грешке и директоријум се може креирати одједном.

import os

os.makedirs(new_dir_path, exist_ok=True)

Ако имате старију верзију Питхон-а и немате аргумент екист_ок у ос.македирс(), добићете грешку ако наведете путању до постојећег директоријума, па користите ос.патх.екистс() да проверите да ли постоји прво постојање именика.

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

За детаље погледајте следећи чланак.

Пример кода за креирање нове датотеке са одредиштем

Следи пример кода функције која креира и чува нову датотеку навођењем одредишног директоријума.

Први аргумент дир_патх је путања одредишног директоријума, други аргумент име датотеке је име нове датотеке која ће бити креирана, а трећи аргумент филе_цонтент је садржај који ће бити уписан, а сваки је наведен као стринг.

Ако наведени директоријум не постоји, креирајте нови.

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_dir/sub_dir/new_file.txt

Повезивање имена директоријума и датотека са ос.патх.јоин().

Такође, начин опен() је наведен као аргумент. За текстуалне датотеке, подразумевано ‘в’ је у реду, али ако желите да креирате бинарну датотеку, поставите моде=’вб’.

Copied title and URL