Начало работы с Python в Windows для создания сценариев и автоматизации
Ниже приведено пошаговое руководство по настройке среды разработки и началу работы с Python для создания сценариев и автоматизации операций файловой системы в Windows.
Примечание.
В этой статье рассматривается настройка среды для использования некоторых полезных библиотек в Python, которые могут автоматизировать задачи на разных платформах, таких как поиск в файловой системе, доступ к Интернету, анализ типов файлов и т. д. с помощью подхода, ориентированного на Windows. Для операций, относящихся к Windows, извлеките ctypes, совместимую с C библиотеку функций с кодом на другом языке программирования для Python, winreg, функции, предоставляющие API реестра Windows для Python, и Python/WinRT, включив доступ к API среды выполнения Windows в Python.
Настройка среды разработки
При использовании Python для написания скриптов, выполняющих операции файловой системы, рекомендуется установить Python из Microsoft Store. При установке из Microsoft Store используется базовый интерпретатор Python3, но в дополнение к автоматическому обновлению также настраиваются параметры пути для текущего пользователя (без необходимости доступа администратора).
Если для веб-разработки на Windows вы используете Python, рекомендуем использовать другую установку с применением подсистемы Windows для Linux. Найдите пошаговое руководство. Начало работы с Python для веб-разработки в Windows. Если вы еще не знакомы с Python, ознакомьтесь с нашим руководством. Начало работы с Python в Windows для начинающих. Для некоторых сложных сценариев (например, необходимо получить доступ к установленным файлам Python или изменить файлы Python, создавать копии двоичных файлов или использовать библиотеки DLL Python напрямую), вам может потребоваться скачать конкретный выпуск Python непосредственно из python.org или рассмотреть возможность установки альтернативы, например Anaconda, Jython, PyPy, WinPython, IronPython и т. д. Мы рекомендуем использовать это только в том случае, если вы являетесь более продвинутым программистом Python с определенной причиной выбора альтернативной реализации.
установите Python;
Чтобы установить Python с помощью Microsoft Store, сделайте следующее:
Перейдите в меню Пуск (значок Windows в нижнем левом углу), введите "Microsoft Store" и щелкните ссылку, чтобы открыть магазин.
Когда магазин откроется, выберите Поиск в верхнем правом меню и введите "Python". Выберите, какую версию Python вы хотите использовать, из результатов в разделе «Приложения». Мы рекомендуем использовать самую последнюю версию, если только у вас нет причин для обратного (например, по причине согласования с версией, использованной в уже существующем проекте, над которым вы планируете работать). Определив, какую версию вы хотите установить, выберите Получить.
После того как Python завершит процесс загрузки и установки, откройте Windows PowerShell, используя меню Пуск (значок Windows в нижнем левом углу). После открытия PowerShell введите
Python --version
, чтобы убедиться, что Python3 установлен на компьютере.Установка Python из Microsoft Store содержит стандартный диспетчер пакетов pip. Pip позволяет устанавливать дополнительные пакеты, которые не входят в стандартную библиотеку Python, и управлять ими. Чтобы убедиться, что у вас есть pip, который можно использовать для установки пакетов и управления ими, введите
pip --version
.
Установка Visual Studio Code
При использовании VS Code в качестве текстового редактора или интегрированной среды разработки (IDE) вам доступны IntelliSense (помощь в завершении кода), анализ кода (помогает избежать ошибок в коде), поддержка отладки (помогает находить ошибки в коде после запуска), фрагменты кода (шаблоны для небольших повторно используемых блоков кода) и модульное тестирование (тестирование интерфейса кода с различными типами входных данных).
Загрузите VS Code для Windows и следуйте инструкциям по установке: https://code.visualstudio.com.
Установка расширения Microsoft Python
Установите расширение Microsoft Python, чтобы воспользоваться преимуществами функций поддержки VS Code. Подробнее.
Откройте окно расширения VS Code с помощью CTRL+SHIFT+X (или используйте меню, чтобы перейти к Вид>Расширения).
В верхнем поле Поиск расширений в Marketplace, введите: Python.
Найдите расширение Python (ms-python.python) от Microsoft и нажмите зеленую кнопку Установить.
Откройте встроенный терминал PowerShell в VS Code
VS Code содержит встроенный терминал, который позволяет открывать командную строку Python с помощью PowerShell, создавая простой рабочий процесс между редактором кода и командной строкой.
Откройте терминал в VS Code, выберите Просмотр>Терминал или используйте сочетание клавиш Ctrl+` (используя символ обратного апострофа).
Примечание.
Терминал по умолчанию должен быть PowerShell, но если нужно изменить его, используйте ctrl+SHIFT+P , чтобы ввести палитру команд. Введите терминал. Выберите оболочку по умолчанию и список параметров терминала будет отображаться, содержащий PowerShell, командную строку, WSL и т. д. Выберите нужный и введите ctrl+SHIFT+' (с помощью backtick) для создания нового терминала.
В окне терминала VS Code откройте Python, введя:
python
Попробуйте использовать интерпретатор Python, введя:
print("Hello World")
. Python вернет фразу "Hello World".Чтобы выйти из Python, введите
exit()
,quit()
или нажмите клавиши CTRL+Z.
Установка Git (необязательно)
Если вы планируете совместно работать над кодом Python с другими пользователями или размещать проект на сайте с открытым исходным кодом (например, GitHub), примите во внимание, что VS Code поддерживает управление версиями с помощью Git. Вкладка системы управления версиями в VS Code отслеживает все изменения и содержит общие команды Git (добавление, фиксация, принудительная отправка, извлечение) прямо в пользовательском интерфейсе. Сначала необходимо установить Git для включения панели управления версиями.
Скачайте и установите Git для Windows с веб-сайта git-scm.
В комплект входит мастер установки, который задает вам ряд вопросов о параметрах установки Git. Рекомендуется использовать все параметры по умолчанию, если у вас нет конкретной причины изменить какой-либо из них.
Если вы никогда не использовали Git, обратитесь к руководствам по GitHub. Они помогут вам приступить к работе.
Пример сценария для вывода структуры каталога файловой системы
Распространенные задачи системного администрирования могут занимать огромное количество времени, но с помощью сценария Python вы можете их автоматизировать и не тратить на них время вовсе. Например, Python может читать содержимое файловой системы компьютера и выполнять такие операции, как вывод структуры файлов и каталогов, перемещение папок из одного каталога в другой или переименование большого количества файлов. Как правило, такие задачи могут занимать массу времени, если выполнять их вручную. Вместо этого используйте сценарий Python!
Начнем с простого сценария, в котором описано дерево каталогов и отображено структуру каталогов.
Откройте PowerShell, используя меню Пуск (нижний левый значок Windows).
Создайте каталог для проекта:
mkdir python-scripts
, а затем откройте этот каталог:cd python-scripts
.Создайте несколько каталогов для использования с нашим примером сценария:
mkdir food, food\fruits, food\fruits\apples, food\fruits\oranges, food\vegetables
Создайте несколько файлов в этих каталогах для использования с нашим сценарием:
new-item food\fruits\banana.txt, food\fruits\strawberry.txt, food\fruits\blueberry.txt, food\fruits\apples\honeycrisp.txt, food\fruits\oranges\mandarin.txt, food\vegetables\carrot.txt
Создайте в каталоге Python-Scripts новый файл Python:
mkdir src new-item src\list-directory-contents.py
Откройте проект в VS Code, введя:
code .
Откройте окно проводника VS Code, нажав Ctrl+Shift+E (или используйте меню, чтобы перейти к Вид>Обозреватель) и выберите только что созданный файл list-directory-contents.py. Расширение Microsoft Python будет автоматически загружать интерпретатор Python. Загруженный интерпретатор можно увидеть в нижней части окна VS Code.
Примечание.
Python — интерпретируемый язык, то есть он выступает в качестве виртуальной машины, имитируя физический компьютер. Существуют различные типы интерпретаторов Python, которые можно использовать: Python 2, Python 3, Anaconda, PyPy и т. д. Чтобы запустить код Python и получить Python IntelliSense, необходимо сообщить VS Code, какой интерпретатор следует использовать. Если нет конкретной причины для выбора другого интерпретатора, мы рекомендуем придерживаться интерпретатора, который VS Code выбирает по умолчанию (Python 3 в нашем случае). Чтобы изменить интерпретатор Python, выберите интерпретатор, отображаемый в синей строке в нижней части окна VS Code, или откройте палитру команд (CTRL+SHIFT+P) и введите команду Python: Выбор интерпретатора. На экране появится список установленных интерпретаторов Python. Using Python environments in VS Code(Использование сред Python в VS Code).
Вставьте следующий код в файл list-directory-contents.py, а затем выберите Сохранить:
import os root = os.path.join('..', 'food') for directory, subdir_list, file_list in os.walk(root): print('Directory:', directory) for name in subdir_list: print('Subdirectory:', name) for name in file_list: print('File:', name) print()
Откройте интегрированный терминал VS Code (Ctrl+`с помощью символа обратного апострофа) и введите каталог src, в котором вы только что сохранили сценарий Python:
cd src
Запустите сценарий в PowerShell с помощью:
python3 .\list-directory-contents.py
Вы должны получить следующий результат:
Directory: ..\food Subdirectory: fruits Subdirectory: vegetables Directory: ..\food\fruits Subdirectory: apples Subdirectory: oranges File: banana.txt File: blueberry.txt File: strawberry.txt Directory: ..\food\fruits\apples File: honeycrisp.txt Directory: ..\food\fruits\oranges File: mandarin.txt Directory: ..\food\vegetables File: carrot.txt
Используйте Python, чтобы вывести выходные данные каталога файловой системы в собственный текстовый файл, введя следующую команду непосредственно в терминале PowerShell:
python3 list-directory-contents.py > food-directory.txt
Поздравляем! Вы только что написали автоматизированный сценарий системного администрирования, который считывает созданные вами каталог и файлы и использует Python для отображения, а затем для вывода структуры каталога в собственный текстовый файл.
Примечание.
Если вы не можете установить Python 3 из Microsoft Store, прочтите об этой проблеме, чтобы ознакомиться с примером управления путями для этого примера скрипта.
Пример сценария для изменения всех файлов в каталоге
В этом примере используются только что созданные файлы и каталоги, каждый из которых следует переименовать путем добавления даты последнего изменения файла в начало имени файла.
В папке src в каталоге python-scripts создайте новый файл Python для своего сценария:
new-item update-filenames.py
Откройте файл update-filenames.py, вставьте следующий код в файл и сохраните его:
Примечание.
os.getmtime возвращает метку времени в тактах, что трудно читать. Сначала его необходимо преобразовать в стандартную строку datetime.
import datetime import os root = os.path.join('..', 'food') for directory, subdir_list, file_list in os.walk(root): for name in file_list: source_name = os.path.join(directory, name) timestamp = os.path.getmtime(source_name) modified_date = str(datetime.datetime.fromtimestamp(timestamp)).replace(':', '.') target_name = os.path.join(directory, f'{modified_date}_{name}') print(f'Renaming: {source_name} to: {target_name}') os.rename(source_name, target_name)
Протестируйте сценарий update-filenames.py, запустив его:
python3 update-filenames.py
а затем снова запустите сценарий list-directory-contents.py:python3 list-directory-contents.py
Вы должны получить следующий результат:
Renaming: ..\food\fruits\banana.txt to: ..\food\fruits\2019-07-18 12.24.46.385185_banana.txt Renaming: ..\food\fruits\blueberry.txt to: ..\food\fruits\2019-07-18 12.24.46.391170_blueberry.txt Renaming: ..\food\fruits\strawberry.txt to: ..\food\fruits\2019-07-18 12.24.46.389174_strawberry.txt Renaming: ..\food\fruits\apples\honeycrisp.txt to: ..\food\fruits\apples\2019-07-18 12.24.46.395160_honeycrisp.txt Renaming: ..\food\fruits\oranges\mandarin.txt to: ..\food\fruits\oranges\2019-07-18 12.24.46.398151_mandarin.txt Renaming: ..\food\vegetables\carrot.txt to: ..\food\vegetables\2019-07-18 12.24.46.402496_carrot.txt PS C:\src\python-scripting\src> python3 .\list-directory-contents.py ..\food\ Directory: ..\food Subdirectory: fruits Subdirectory: vegetables Directory: ..\food\fruits Subdirectory: apples Subdirectory: oranges File: 2019-07-18 12.24.46.385185_banana.txt File: 2019-07-18 12.24.46.389174_strawberry.txt File: 2019-07-18 12.24.46.391170_blueberry.txt Directory: ..\food\fruits\apples File: 2019-07-18 12.24.46.395160_honeycrisp.txt Directory: ..\food\fruits\oranges File: 2019-07-18 12.24.46.398151_mandarin.txt Directory: ..\food\vegetables File: 2019-07-18 12.24.46.402496_carrot.txt
Используйте Python для вывода новых имен каталогов файловой системы с меткой времени последнего изменения в начале текстового файла, введя эту команду непосредственно в терминале PowerShell:
python3 list-directory-contents.py > food-directory-last-modified.txt
Надеемся, что вы узнали несколько интересных вещей об использовании сценариев Python для автоматизации основных задач системного администрирования. Конечно, есть еще масса информации, но мы надеемся, что это позволит вам начать работу с нужным нижним колонтитулом. Ниже мы предоставили несколько дополнительных ресурсов, чтобы вы продолжили обучение.
Дополнительные ресурсы
- Документация Python: Доступ к файлам и каталогам: документация По Python о работе с файловыми системами и использовании модулей для чтения свойств файлов, управления путями в переносимом режиме и создании временных файлов.
- Сведения о Python: String_Formatting учебнике. Дополнительные сведения об использовании оператора "%" для форматирования строк.
- 10 методов файловой системы Python с которыми вы должны быть знакомы: Средняя статья об управлении файлами и папками с помощью
os
иshutil
. - Руководство hitchhikers по Python: администрирование систем: "рекомендации", предлагающие обзоры и рекомендации по темам, связанным с Python. В этом разделе описываются средства и платформы администрирования систем. Данное руководство размещено на сервере GitHub, чтобы вы могли подавать заявки и вносить свой вклад.
Windows developer