aspire89 18.01.2010 18:28

PythonОпределение оператора мобильной связи по номеру.

После перехода на Linux начал изучать Python.Так как до этого больше года писал для Windows Mobile, то сложностей не возникает и начал переписывать существующие проекты на питоне.
Первое, что переписал - это определение оператора мобильной связи по номеру.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# -*- coding: UTF-8 -*-
__author__ = "aspire89"
__date__ = "$17.01.2010 19:16:38$"
__version__ = 0.1

import sqlite3 as db

def mtt(number):
c = db.connect("base.sl3")
cu = c.cursor()
deff = number<1:4>
n = number<4:>
k = number<4:>
c.text_factory = str
try:
cu.execute('SELECT operator, region, date FROM mtt_codes WHERE def=? and n<? and k>?',(deff,n,k))
for o, r, d in cu.fetchall():
print o, r, d
except db.DatabaseError, x:
print "Ошибка: ", x
c.close()

print "Введите номер:",
mtt(raw_input())

Комментарии думаю писать не стоит, ничего сложного нет.
Информация для базы данных взята с сайта mtt.ru.
Скачать скрипт с базой данных можно здесь.


Тэги: python sqlite
+ 7 -
Похожие Поделиться

xT 18.01.2010 18:52 #
Напиши для андроида, скажу спасибо
: )
ZogG 18.01.2010 22:26 #
а на нем нет консоли?
xT 18.01.2010 23:32 #
есть, но лезть в нее неудобно каждый раз
nymiiin 18.01.2010 23:33 #
расскажи про свой девайс с андроидом?
xT 18.01.2010 23:40 #
htc magic =) или предлагаешь написать обзор, коих полно в интернетах?
nymiiin 18.01.2010 23:44 #
я думал что-то изначально не андроидное
eugenez 18.01.2010 19:58 #
А я скажу спасибо и за скрипт для десктопа, очень полезно. Ещё бы указать, что скрипт требует sqlite3 ;)
razum2um 19.01.2010 04:56 #
А где б документации по WMobilе специфичным параметрам? Как узнать номер в тел книге или смс прочесть знаете?
(ps: toshiba portege g900)
evgenyl 19.01.2010 15:03 #
объясни а зачем 13 строчка ?
aspire89 19.01.2010 16:27 #
база данных содержит интервал последних 7 цыфр номера в виде xxx0000 - yyy9999
раньше было:
n = number<4:7> + '000'
k = number<4:7> + '999'
сейчас можно исправить вот так:
n = number<4:>
k = number<4:>
evgenyl 19.01.2010 16:29 #
не я про c.commit() зачем он ?
aspire89 19.01.2010 16:38 #
этот метод сохраняет все изменения
evgenyl 19.01.2010 16:39 #
так ты ничего не менял ? зачем ты его вызываеш ?
aspire89 19.01.2010 16:43 #
согласен, в данном случае он лишний
evgenyl 19.01.2010 15:07 #
а еще если немного изменить программу
if __name__=='__main__':
print "Введите номер:",
mtt(raw_input()
то ее можно будет использовать и как модуль
типа
from xxxx import mtt
aspire89 19.01.2010 16:28 #
спасибо, я до этого еще не доучил
toshcka 28.01.2010 15:30 #
интересно, а по чему учат нынче pyhon?
aspire89 28.01.2010 16:07 #
читаю Россума
aspire89 31.01.2010 17:47 #
Обновил базу данных, добавилось около 150 новых записей, качать вместе со скриптом на code.google.com