Форум сайта python.su
0
Привет форумчане! Я начал учить питон пару недель назад, до этого пинал пяткой джаву и паскаль. Уткнулся в нерешаемую проблему при реализации практической задачи.
Дело вот какое - есть программа. Она делает всякую хрень. При каждом исполнении программы она записывает один никнейм, и добавляет его в файл nickbase.txt. Сейчас там уже под 200 никнеймов скопилось, они записаны через одну строчку (\r\n). Теперь надо добавить проверку никнейма. То есть в начале работы программа принимает никнейм с консоли, а потом нужно чтобы она сравнила его со всеми никами в nickbase.txt и если обнаружится совпадение то программа должна это как-то обозначить (это уже легко). Условным оператором я знаю как пользоваться, не могу никак выстроить нужный цикл. Надеюсь что вопрос легкий и кто-то подскажет, заранее спасибо.
Офлайн
76
for nickname in open('nickbase.txt'): if nickname == nickname_console: pass # произвести те действия, что нужно
Офлайн
253
MorronelЕсли это ваша программа делает хрень выкиньте на помойку ‘nickbase.txt’. Замените его пиклом.
Она делает всякую хрень.
import cPickle import os # типа чтение базы if os.path.exists("a.pkl") with open("a.pkl","rb") as f: a=cPickle.load(f) else: a=set() .... some_nick="kuku" if some_nick in a: .... else: .... # типа запись базы после изменений with open("a.pkl","wb") as f: cPickle.dump(a,f)
MorronelС этим не помогу. Цикл тут вообще не нужен.
не могу никак выстроить нужный цикл
a=dict() a["вася"]={"passw_hash":123,"cfg":"file1"}
Отредактировано doza_and (Янв. 4, 2016 15:08:28)
Офлайн
76
doza_andЯ не задавал вопрос, я пытался помочь.
Офлайн
253
RomissevdИзвините поправил.
Я не задавал вопрос,
Офлайн