Помилка під час створення нового каталогу за допомогою os.mkdir() у неіснуючому каталозі
os.mkdir()
Це метод, який використовується для створення каталогу (папки) в Python. Якщо ви спробуєте створити новий каталог у неіснуючому каталозі, виникне помилка.(FileNotFoundError
)
import os os.mkdir('not_exist_dir/new_dir') # FileNotFoundError
Створюйте каталоги рекурсивно за допомогою os.madeirs()
Якщо ви використовуєте os.makedirs() замість os.mkdir(), це створить проміжний каталог, тому ви можете рекурсивно створити глибокий ієрархічний каталог.
os.makedirs('not_exist_dir/new_dir')
У разі цього прикладу він створить їх усі відразу. Це нормально, якщо є кілька нових проміжних каталогів.
- проміжний каталог:
not_exist_dir
- остаточний каталог:
new_dir
Однак, якщо кінцевий каталог уже існує, виникне помилка.(FileExistsError
)
os.makedirs('exist_dir/exist_dir') # FileExistsError
Якщо є аргумент, існує_ок
Починаючи з Python 3.2, аргумент exist_ok був доданий, і якщо exist_ok=True, жодної помилки не буде, навіть якщо кінцевий каталог уже існує. Якщо кінцевого каталогу не існує, буде створено новий, а якщо він існує, нічого не буде зроблено. Це зручно, оскільки вам не потрібно заздалегідь перевіряти наявність каталогу терміналу.
os.makedirs('exist_dir/exist_dir', exist_ok=True)
Якщо аргумент exist_ok відсутній
Якщо у вас є старіша версія Python і немає аргументу exist_ok в os.madeirs, ви можете використовувати os.path.exists, щоб визначити, чи є кінцевий каталог, а потім створити новий, лише якщо його немає. кінцевий каталог.
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')