Как запустить код python в notepad
Перейти к содержимому

Как запустить код python в notepad

  • автор:

как сделать этот Python скрипт рабочим в notepad++ (для открытого документа)

Есть код (написан для Notepad++). он берёт инфу из заявленного документа и возвращает результат в консоль ( Notepad++ ) Как сделать чтобы результат выводился в самом документе (в смысле редакторе а не консоли), а поверх того что было изначально. Помогите, пожалуйста. голову уже сломал…

f = open("D:\\test.txt", 'r') line = f.readline() while line: A = line a1 = A[:-2] a2 = A[-3:-1] a2 = int(a2) print(str(a1)+str(a2+1)) print(str(a1)+str(a2+2)) print(str(a1)+str(a2+3)) print(str(a1)+str(a2+4)) line = f.readline() f.close() 

Отслеживать

задан 11 апр 2020 в 12:39

83 5 5 бронзовых знаков

Для того, что-бы что-то заносилось в файл, его туда надо писать. У вас нет ни одной команды записи. (write). Почитайте про ввод-вывод на python хоть что-нибудь.

Как писать в Notepad++ код на Python

Если вы любите Notepad и хотите программировать с его помощью, то в случае языка программирования Python нужно использовать специальный плагин. Есть несколько вариантов плагинов для Notepad++, интерпретирующих Python:

  • NppExec;
  • Python script;
  • PyNPP.

Плагины позволяют запускать код прямо из блокнота, так что не будет необходимости программировать в IDLE (среде программирования). В принципе код можно писать и так без плагинов, но запускать его придется через командную строку. В любом случае прежде чем программировать на Python нужно его скачать и установить на свой компьютер. Для этого заходим на официальный сайт https://www.python.org/ и выбираем подходящую версию. Если вы только начинаете изучать программирование, то лучше поставить ту версию, по которой написан ваш учебник.

Запись опубликована в рубрике Notepad++, Python. Добавьте в закладки постоянную ссылку.

Как запустить python код в Notepad++?

hottabxp

Maxim Siomin, Сначала под этим ответом (это я отметил ответ решением) он написал — «Боже, как смешно». Я его спросил — что смешного? На что он начал меня обзывать (из некоторых соображений, не могу это здесь писать). Судя по словам — автор вопроса школьник, скорее всего начальных классов, так как писал с ошибками. Благо, модеры ведут лог комментариев, так что должны его посадить на кол!

Скрипт для Notepad++ на Python

Думаю, многим известен — удобная бесплатная утилита, выступающая в качестве «продвинутой» замены стандартному Блокноту Windows. Как и при работе в любом текстовом редакторе, в Notepad++ время от времени возникает необходимость автоматизировать какие-либо повторяющиеся действия, которые в силу сложности логики невозможно записать как макрос. К счастью, для решения этой задачи нет необходимости переключаться из в, например, Word, дабы воспользоваться встроенным в него VB.

Среди плагинов для существуют расширения, реализующие возможность написания скриптов для на разных языках, таких как JavaScript, Lua, PHP или Python. Именно на последнем я и решил остановиться для решения своей задачи.

Постановка задачи

Предположим, перед нами стоит следующая задача (взята из жизни).

  • пронумеровать символы ‘@’, находящиеся в начале строки, заменив ‘@’ на ‘@1’, ‘@2’ и т.д.;
  • удалить пустые (включая пробелы и табуляцию) строки, идущие подряд по две и более.

3. Если в выделенном фрагменте текста (или во всём документе — в случае если нет выделения) отсутствует символ ‘@’, должно выводиться соответствующее сообщение об ошибке.

  • по нажатию соответствующей кнопки на панели инструментов;
  • с помощью клавиатурного сочетания;
  • через контекстное меню правой кнопки мыши.
Решение

Для начала нам потребуется установить плагин для под названием Python Script. С его помощью можно производить любые операции с редактируемым текстом, открывать/закрывать файлы, переключать вкладки, выполнять команды меню и т.д. — одним словом, практически всё, что вообще можно сделать в .

Далее, выбрав в меню Plugins->Python Script->New Script, создаём скрипт:

# -*- coding: utf-8 -*- #Скрипт для Notepad++, удаляющий пустые строки и нумерующий символы "@", находящиеся в начале строки # Получаем выделенный текст text = editor.getSelText() isSelection = True # Если текст не выделен, то работаем со всем документом if not text: isSelection = False text = editor.getText() #Находим количество вхождений символа "@", находящегося в начале строки import re occurrencesCount = len(re.findall('^@', text, flags=re.MULTILINE)) # Если в тексте нет ни одного символа "@" в начале строки, выводим сообщение об ошибке if occurrencesCount == 0: notepad.messageBox('В тексте должен присутствовать как минимум 1 символ "@" в начале строки', 'Неверный формат входных данных', MESSAGEBOXFLAGS.ICONEXCLAMATION) # Если символ "@" присутствует, то else: countStartFrom = '' # Выдаём запрос до тех пор, пока не будет введено число while not countStartFrom.isdigit(): countStartFrom = notepad.prompt('Введите число, с которого должна начинаться нумерация вхождений в тексте символа "@":', 'Нумерация вхождений символа "@"', '1') if countStartFrom == None: break if countStartFrom != None: # Удаление пустых строк text = re.sub('\r\n\\s*\r\n', '\r\n', text) # Удаление пустой строки в конце и в начале файла/выделения text = re.sub('\r\n\s*$|^\s*\r\n', '', text, flags=re.MULTILINE) # Переводим countStartFrom из строки в целочисленный тип countStartFrom = int(countStartFrom) # Функция, возвращающая символ "@" с добавленным к нему и увеличенным номером def addNumber(matchobj): global countStartFrom countStartFrom += 1 return '@'+str(countStartFrom-1) #Добавляем нумерацию ко всем символам "@", находящимся в начале строки text = re.sub('^@', addNumber, text, flags=re.MULTILINE) #Заменяем обработанной строкой выделение или весь документ if isSelection: editor.replaceSel(text) else: editor.setText(text)

Если мы назвали скрипт «Empty Lines And Count», то запустить его можно из меню Plugins->Python Script->Scripts->Empty Lines And Count. Чтобы добавить его кнопку на панель инструментов и сделать возможным запуск по клавиатурному сочетанию, в настройках плагина (Plugins->Python Script->Configuration) выбираем созданный нами скрипт и добавляем его в меню и на панель инструментов. Теперь после перезапуска соответствующая кнопка появится на панели инструментов.

Назначить скрипту сочетание клавиш можно в меню Settings->Shortcut mapper в разделе Plugin commands.

Чтобы добавить скрипт в контекстное меню , нужно в xml-файл настроек (Settings->Edit Popup ContextMenu) добавить в нужном вам месте (например, перед первым элементом) следующие строчки:

Вот и всё. Теперь даже рутинные действия со сложной логикой можно выполнять одним кликом.

  • Документация плагина Python Script
  • Документация Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *