Запуск программ на Python
Подписаться на эту рубрику по RSS
Runscript – утилита для запуска python скриптов
Наверное, многим разработчикам знакома ситуация, когда в проекте необходимо совершить определенные действия. Чтобы сделать это мы создаем специальный скрипт на питоне, кладем его в корень проекта и запускаем по необходимости. Таким образом со временем имеем захламленную корневую директорию проекта, чтобы избавится от этого решаем перекинуть все скрипты в отдельную папку и тут нас ждут проблемы.
Алгоритм расшифровки названии автомобилей в игре "Что за тачка?" на Python
Вчера знакомый в ВК дал мне запрос чтобы заправить его автомобиль, чтобы тот мог продолжить играть. Я не любитель онлайн игр из за быстрого привыкания к ним и стараюсь чтобы не зависать долго в них. Хотя, в какую игру бы не играл всегда ищу какой-то способ чтобы упростить для себя процесс и догнать всех по достижениям в ней. Автолюбителям понравится данная игра, но загвоздка в том, что популярные марки там редкость. Даже если и будет BMW или Mercedes-Benz то он напомнит вам фильмы из 60-х годов.
Игра становится все более популярной, уже созданы группы с фотографиями с просьбой о помощи угадать название машины. Если замедлить с ответом то очки выигрыша будут меньше и тогда не будет денег, чтобы купить топливо на следующий круг. Изначально некоторые машины я угадывал при помощи Google Images, там есть возможность дать ссылку на автомобиль и получить результаты поиска. Но, даже гугл иногда не знал, что это за тачка.
Алгоритм работы программы
- Искал в интернете список всех автомобильных марок и сохранил их в текстовой файл.
- Задавал число букв из которых состоит название автомобиля.
- Вписывал случайные буквы которые дает нам игра для подбора.
- Алгоритм сортирует названия марок и выводит результат.
Ссылка на расшифровку названии онлайн ТУТ!
В python есть 2 объекта работающими с текстом: unicode и str, объект unicode хранит символы в формате (кодировке) unicode, объект str является набором байт/символов в которых python хранит остальные кодировки (utf8, cp1251, cp866, koi8-r и др).
Кодировку unicode можно считать рабочей кодировкой питона т.к. она предназначена для её использования в самом скрипте - для разных операций над строками.
Внешняя кодировка (объект str) предназначена для хранения и передачи текстовой информации вне скрипта, например для сохранения в файл или передачи по сети. Поэтому в данной статье я её назвал внешней. Самой используемой кодировкой в мире является utf8 и число приложений переходящих на эту кодировку растет каждый день, таким образом превращаясь в "стандарт".
Эта кодировка хороша тем что для хранения текста она занимает оптимальное кол-во памяти и с помощью её можно закодировать почти все языки мира ( в отличие от cp1251 и подобных однобайтовых кодировок). Поэтому рекомендуется везде использовать utf8, и при написании скриптов.
Использование
Скрипт питона, в самом начале скрипта указываем кодировку файла и сохраняем в ней файл
# coding: utf8
либо
# -*- coding: utf-8 -*-
для того что-бы интерпретатор python понял в какой кодировке файл
Строки в скрипте
Строки в скрипте хранятся байтами, от кавычки до кавычки:
print 'Привет'
= 6 байт при cp1251
= 12 байт при utf8
Если перед строкой добавить символ u, то при запуске скрипта, эта байтовая строка будет декодирована в unicode из кодировки указанной в началеДалее...
Пожалуй, самый простой способ запускать программы на языке Python - это
вводить инструкции непосредственно в командной строке интерпретатора,
которая иногда называется интерактивной оболочкой. Запустить эту
командную строку можно разными способами - в интегрированной среде разработки,
в системной консоли и так далее. Предположим, что интерпретатор установлен
в вашей системе как выполняемая программа, тогда самый универсальный
способ запустить интерактивный сеанс работы с интерпретатором заключается в том, чтобы ввести команду python без аргументов в командной строке
вашей операционной системы. Например:
% python
Python 3.0.1 (г301:69561, Feb 13 2009, 20:04:18) [MSC v.1500 32 bit (Intel)] ...
Type "help", "copyright", "credits" or "license" for more information.
>»