Директория и управление на файлове на Python

В този урок ще научите за управлението на файлове и директории в Python, т.е. създаване на директория, преименуване, изброяване на всички директории и работа с тях.

Видео: Модул на Python os

Директория на Python

Ако има голям брой файлове за обработка в нашата програма Python, можем да подредим нашия код в различни директории, за да направим нещата по-управляеми.

Директория или папка е колекция от файлове и поддиректории. Python има osмодул, който ни предоставя много полезни методи за работа с директории (и файлове също).

Вземете текущата директория

Можем да получим настоящата работна директория, използвайки getcwd()метода на osмодула.

Този метод връща текущата работна директория под формата на низ. Също така можем да използваме getcwdb()метода, за да го получим като байт обект.

 >>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'

Допълнителната обратна наклонена черта предполага последователност за бягство. Най print()функция ще направи това правилно.

 >>> print(os.getcwd()) C:Program FilesPyScripter

Промяна на директория

Можем да променим текущата работна директория, като използваме chdir()метода.

Новият път, в който искаме да променим, трябва да бъде предоставен като низ към този метод. Можем да използваме както наклонена черта напред, така и наклонена черта /назад, за да отделим елементите на пътя.

По-безопасно е да използвате екранираща последователност, когато използвате наклонената черта назад.

 >>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33

Списък на директории и файлове

Всички файлове и поддиректории в дадена директория могат да бъдат извлечени с помощта на listdir()метода.

Този метод приема път и връща списък с поддиректории и файлове в този път. Ако не е посочен път, той връща списъка с поддиректории и файлове от текущата работна директория.

 >>> print(os.getcwd()) C:Python33 >>> os.listdir() ('DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools') >>> os.listdir('G:\') ('$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information')

Създаване на нова директория

Можем да направим нова директория, използвайки mkdir()метода.

Този метод поема по пътя на новата директория. Ако пълният път не е посочен, новата директория се създава в текущата работна директория.

 >>> os.mkdir('test') >>> os.listdir() ('test')

Преименуване на директория или файл

В rename()метода да преименувате директорията или файла.

За преименуване на всяка директория или файл rename()методът взема два основни аргумента: старото име като първи аргумент и новото име като втори аргумент.

 >>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')

Премахване на директория или файл

Файлът може да бъде премахнат (изтрит) с помощта на remove()метода.

По същия начин rmdir()методът премахва празна директория.

 >>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()

Забележка : rmdir()Методът може да премахва само празни директории.

За да премахнем непразна директория, можем да използваме rmtree()метода вътре в shutilмодула.

 >>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()

Интересни статии...