Найти - Пользователи
Полная версия: Хуй Dick
Начало » Python для новичков » Хуй Dick
1 2
xeyalxx
Хуй Dick
doza_and
а файл такой:
 127561953:True
582514953:False
149535825:False
674938631:True

или такой?
 127561953 : True
582514953 : False
149535825 : False
674938631 : True

“Нужно чтобы полученный с сервера user_id” Каким образом полученный?

От этого зависит ответ.

Но по любому вам надо посмотреть что такое dict, for, print.


pcz
 FILENAME = 'something.txt'
data = open(FILENAME)
parsed_data = {}
for l in data:
  splitted = l.split(':')
  k = splitted[0].strip()
  v = True if splitted[1].strip() == 'True' else False
  parsed_data.update({k: v})


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

Upd: Пофиксил кривой вариант, как-то я затупил очень
xeyalxx
Хуй Dick
xeyalxx
Dick хуй
pcz
xeyalxx
Спасибо, но не мог бы ты немного пояснить этот код?
Та версия была с ошибкой Я исправил и вроде теперь код не выглядит магией, но всё таки напишу.
1. Загружаем файл с именем FILENAME в память (осторожно! Если файл очень огромный, то это уже проблема и идти другим путем!)
data = open(FILENAME)
2. Создаем словарь в виде {идентификатор: bool-значение}. Словрь создается с помощью list comprehension для словаря (уж сорри, не знаю как на русском это называть). В python по объекту файла можно итерироваться построчно. Каждый раз когда получаем строчку, её нужно разделить на две части по символу ‘:’ (splitted = l.split(':')) и обработать вторую часть с логическим значением. Потом запихнуть запись в словарь parsed_data.update()
doza_and
xeyalxx
меньше мороки с лишними пробелами.
Если вы сами его делаете, то как раз без пробелов больше мороки. С пробелами это валидный yaml формат и его можно считать так:

 import yaml
data = yaml.load(open("some.txt","r"))
да и записать его проще.
Вообще “стандартные” форматы лучше по многим причинам.
pcz
doza_and
Если вы сами его делаете, то как раз без пробелов больше мороки. С пробелами это валидный yaml формат и его можно считать так:

import yaml
data = yaml.load(open(“some.txt”,“r”))
да и записать его проще.
Вообще “стандартные” форматы лучше по многим причинам.

Яростно поддерживаю этого господина. Если можно самому выбирать формат, то берите json или yaml!
py.user.next
Общий вариант обработки входных данных и перевода их в удобные данные
  
>>> import re
>>> 
>>> text = """
... 127561953:True
... 582514953:False
... 149535825:False
... 674938631:True
... """
>>> 
>>> pat = r'(\d+):(\S+)'
>>> 
>>> out = re.findall(pat, text)
>>> out
[('127561953', 'True'), ('582514953', 'False'), ('149535825', 'False'), ('674938631', 'True')]
>>> 
>>> dct = dict(out)
>>> dct
{'127561953': 'True', '674938631': 'True', '582514953': 'False', '149535825': 'False'}
>>> 
>>> '127561953' in dct
True
>>> dct['127561953']
'True'
>>>
xeyalxx
Вы все тут пидорасы
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB