💡 Команды для Python по работе с файлами и файловой системой
▍Перемещение файлов | Часть 1
Время попробовать переместить файлы из одной папки в другую. Рекомендованный способ — еще одна встроенная библиотека
Сейчас попробуем переместить все CSV-файлы из директории «sample_data» в директорию «test_dir». Ниже — пример кода для выполнения этой операции:
Но обе они недостаточно «умные», чтобы позволить перемесить файлы в каталог.
Чтобы все это работало, нужно явно указать имя файла в месте назначения. В следующей части рассмотрим код, который это позволяет сделать, а также другие функции.
Daily Coding #советы #coding #python
▍Перемещение файлов | Часть 1
Время попробовать переместить файлы из одной папки в другую. Рекомендованный способ — еще одна встроенная библиотека
shutil.Сейчас попробуем переместить все CSV-файлы из директории «sample_data» в директорию «test_dir». Ниже — пример кода для выполнения этой операции:
import shutilfor file in list(glob(os.path.join('sample_data', '*.csv'))):
shutil.move(file, 'test_dir')
Кстати, есть два способа выполнить задуманное. Например, мы можем использовать библиотеку OS, если не хочется импортировать дополнительные библиотеки. Как os.rename, так и os.replace подходят для решения задачи.Но обе они недостаточно «умные», чтобы позволить перемесить файлы в каталог.
Чтобы все это работало, нужно явно указать имя файла в месте назначения. В следующей части рассмотрим код, который это позволяет сделать, а также другие функции.
Daily Coding #советы #coding #python
💡 Команды для Python по работе с файлами и файловой системой
▍Перемещение файлов | Часть 2
Из прошлой части: Чтобы все это работало, нужно явно указать имя файла в месте назначения.
Ниже — код, который это позволяет сделать:
Другая функция,
Еще один минус — в том, что обе функции не поддерживают перемещение файлов из разных файловых систем, в отличие от
Поэтому лучше использовать
Daily Coding #советы #coding #python
▍Перемещение файлов | Часть 2
Из прошлой части: Чтобы все это работало, нужно явно указать имя файла в месте назначения.
Ниже — код, который это позволяет сделать:
for file in list(glob(os.path.join('test_dir', '*.csv'))):
os.rename(
file,
os.path.join(
'sample_data',
os.path.basename(file)
))
Здесь функция os.path.basename() предназначена для извлечения имени файла из пути с любым количеством компонентов.Другая функция,
os.replace(), делает то же самое. Но разница в том, что os.replace() не зависит от платформы, тогда как os.rename() будет работать только в системе Unix / Linux.Еще один минус — в том, что обе функции не поддерживают перемещение файлов из разных файловых систем, в отличие от
shutil.Поэтому лучше использовать
shutil.move() для перемещения файлов.Daily Coding #советы #coding #python
👍1
💡 Команды для Python по работе с файлами и файловой системой
▍Копирование файлов
Аналогичным образом
Если нужно скопировать файл
▍Копирование файлов
Аналогичным образом
shutil подходит и для копирования файлов по уже упомянутым причинам.Если нужно скопировать файл
README.md из папки «sample_data» в папку «test_dir», поможет функция shutil.copy():shutil.copy(Daily Coding #советы #coding #python
os.path.join('sample_data', 'README.md'),
os.path.join('test_dir')
)
💡 Команды для Python по работе с файлами и файловой системой
▍Удаление файлов и папок
Разберёмся с процедурой удаления файлов и папок. Нам здесь снова поможет библиотека OS.
Когда нужно удалить файл, нужно воспользоваться командой os.remove():
Daily Coding #советы #coding #python
▍Удаление файлов и папок
Разберёмся с процедурой удаления файлов и папок. Нам здесь снова поможет библиотека OS.
Когда нужно удалить файл, нужно воспользоваться командой os.remove():
os.remove(os.path.join('test_dir', 'README(1).md'))
Если требуется удалить каталог, на помощь приходит os.rmdir():os.rmdir(os.path.join('test_dir', 'level_1', 'level_2', 'level_3'))
Продолжение следует...Daily Coding #советы #coding #python