Sehemu zifuatazo zinaelezea jinsi ya kuunda na kuhifadhi faili mpya kwenye Python kwa kutumia saraka mpya (folda) kama mwishilio.
- Kosa wakati wa kubainisha saraka ambayo haipo na open()(
FileNotFoundError
) os.makedirs()
Unda saraka- Mfano wa msimbo wa kuunda faili mpya na lengwa
Ufuatao ni mfano wa faili ya maandishi.
Wakati wa kuhifadhi picha, inategemea maktaba ikiwa unaweza kutaja njia inayojumuisha saraka ambayo haipo (au ikiwa itaunda moja kwa moja ikiwa haipo).FileNotFoundError
Ikiwa hitilafu hii itatokea, unaweza kuunda saraka mpya na os.madeirs() kabla ya kutekeleza kazi ya kuhifadhi, kama katika mfano ufuatao.
Kosa wakati wa kubainisha saraka ambayo haipo na open()(FileNotFoundError)
Wakati wa kuunda faili mpya na kitendakazi kilichojengwa ndani open(), hitilafu hutokea ikiwa njia iliyo na saraka mpya (saraka ambayo haipo) imebainishwa kama hoja ya kwanza kama lengwa.(FileNotFoundError
)
open('not_exist_dir/new_file.txt', 'w')
# FileNotFoundError
Hoja ya kwanza ya open() inaweza kuwa njia kamili au njia inayohusiana na saraka ya sasa.
Kwa matumizi ya kimsingi ya open(), kama vile kuunda faili mpya katika saraka iliyopo, au kubatilisha au kuambatanisha na faili iliyopo, rejelea makala yafuatayo.
Unda saraka(os.makedirs())
Wakati wa kuunda faili mpya katika saraka ambayo haipo, ni muhimu kuunda saraka kabla ya kufungua ().
Ikiwa unatumia Python 3.2 au baadaye, ni rahisi kutumia os.makedirs() na hoja exist_ok=True. Hata kama saraka inayolengwa tayari iko, hakuna hitilafu itatokea na saraka inaweza kuundwa mara moja.
import os
os.makedirs(new_dir_path, exist_ok=True)
Ikiwa unayo toleo la zamani la Python na huna hoja exist_ok katika os.makedirs(), utapata hitilafu ikiwa utataja njia ya saraka iliyopo, kwa hivyo tumia os.path.exists() kuangalia uwepo wa saraka kwanza.
if not os.path.exists(new_dir_path):
os.makedirs(new_dir_path)
Tazama makala ifuatayo kwa maelezo zaidi.
- Nakala Zinazohusiana:makedirs kuunda saraka za kina za uongozi kwa kujirudia katika Python
Mfano wa msimbo wa kuunda faili mpya na lengwa
Ifuatayo ni mfano wa msimbo wa chaguo za kukokotoa ambazo huunda na kuhifadhi faili mpya kwa kubainisha saraka lengwa.
Hoja ya kwanza dir_path ni njia ya saraka lengwa, hoja ya pili ya jina la faili ni jina la faili mpya litakaloundwa, na hoja ya tatu file_content ni maudhui yatakayoandikwa, kila moja ikibainishwa kama mfuatano.
Ikiwa saraka maalum haipo, unda mpya.
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)
Tumia kama ifuatavyo.
save_file_at_dir('new_dir/sub_dir', 'new_file.txt', 'new text')
Katika hali hii, faili new_file.txt yenye maudhui “maandishi mapya” itaundwa katika new_dir\sub_dir. Kwa maneno mengine, faili ifuatayo itaundwa upya.new_dir/sub_dir/new_file.txt
Saraka inayoambatanisha na majina ya faili na os.path.join().
Pia, hali ya open() imeainishwa kama hoja. Kwa faili za maandishi, chaguo-msingi ‘w’ ni sawa, lakini ikiwa unataka kuunda faili ya jozi, weka modi=’wb’.