Создайте свои собственные исполняемые команды с помощью python в 10 строках кода. Это хороший способ автоматизировать некоторые задачи с помощью возможностей Python.
Итак, мы создадим программу, которая будет принимать два аргумента командной строки; первое будет именем файла, а второе будет расширением этого файла. Когда мы попытаемся запустить эту программу, она будет выглядеть примерно так
python <file_name> bar txt
‹file_name›, bar и txt являются аргументами командной строки.
«bar» — это имя файла, а «txt» — это тип файла, который мы хотим создать. Итак, мы пытаемся создать текстовый файл с именем bar.
Давайте приступим к написанию кода для этой программы.
Создайте каталог в любом месте на вашем ПК и создайте файл с именем file_maker.py внутри каталога. Вы можете назвать файл как хотите. Мой путь после создания file_maker.py будет выглядеть следующим образом:
C:\Users\Lenovo\Desktop\CommandLineFileMaker\file_maker.py
Для работы с аргументами командной строки нам придется импортировать модуль sys из python.
import sys
Затем мы будем использовать этот модуль для доступа к аргументам командной строки, которые пользователь передает терминалу.
import sys #Check if the user passed the filename and extension in command line if len(sys.argv) < 3: print("Sorry! Enter the following format: py <filename> <extension>") sys.exit()
sys.argv хранит все аргументы командной строки, которые пользователь передает в командную строку. Первым сохраняемым элементом всегда является имя файла.
python file_maker.py bar txt
Здесь sys.argv[0] будет file_maker.py, sys.argv[1] будет 'bar', а sys.argv[2] будет 'txt'. Теперь, когда вы знаете, что хранит sys.argv, давайте продолжим писать код.
import sys if len(sys.argv) < 3: print("Sorry! Enter the following format: py <filename> <extension>") sys.exit() #Take the filename and extension from the command line file_name = sys.argv[1] extension = sys.argv[2]
Здесь мы добавили две новые строки. Во-первых, мы сохранили sys.argv[1] в переменной file_name и sys.argv[2] в переменной extension.
Затем мы будем использовать это имя файла и расширение для создания нового файла. В Python вы можете создать любой новый файл, открыв файл в режиме записи. Давайте посмотрим, как мы будем писать код.
import sys if len(sys.argv) < 3: print("Sorry! Enter the following format: py <filename> <extension>") sys.exit() file_name = sys.argv[1] extension = sys.argv[2] #Create new file in the 'Desktop' #We need to pass the 'w' as an addtional argument to create the file with open(f'C:\\Users\\Lenovo\\Desktop\\{file_name}.{extension}', 'w'): pass
Мы закончили писать код для нашей программы. Давайте запустим его с помощью команды Windows + R. Нам нужно будет создать пакетный файл для запуска этой программы, не открывая сам файл python.
Откройте блокнот в режиме администратора и поместите в файл следующий текст:
@py.exe {Your python scripts location} %* @pause
Вы должны заменить {Расположение вашего скрипта Python} на путь, по которому находится ваш скрипт Python. Для меня это будет выглядеть так C:\Users\Lenovo\Desktop\CommandLineFileMaker
Затем сохраните файл в папке Windows вашего корневого каталога с расширением «.bat». (С:\ для меня). Назовите файл как хотите, я назвал его «mf.bat».
Теперь вы готовы запустить скрипт, нажав Windows+R. Давай попробуем!
mf — имя пакетного файла, roshan — имя файла, а py — имя расширения. Итак, я хочу создать файл Python в папке на рабочем столе с именем roshan.py. Нажмите OK, и ваш новый файл Python готов.