Уведомления

Группа в Telegram: @pythonsu

#1 Май 4, 2016 14:40:14

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Разбор Json

Приветствую всех!
Что-то у меня разрыв шаблона случился. Как так?

#!/usr/bin/env python3.4
# -*- coding: utf-8 -*-
import json
json_string = '{"first_name": "Guido", "last_name":"Rossum"}'
parsed_json = json.loads(json_string)
print(parsed_json['first_name'])
На выходе:
/usr/bin/python-wrapper /home/fil/codding/json.py
Traceback (most recent call last):
File “~/codding/json.py”, line 3, in <module>
import json
File “~/codding/json.py”, line 5, in <module>
parsed_json = json.loads(json_string)
AttributeError: ‘module’ object has no attribute ‘loads’
Process finished with exit code 1
Вывод в SublimeText и PyCharm одинаковый.
При этом из консоли все работает:
Python 3.4.3 (default, Apr  9 2016, 09:10:42) 
[GCC 4.9.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> json_string = '{"first_name": "Guido", "last_name":"Rossum"}'
>>> parsed_json = json.loads(json_string)
>>> print(parsed_json['first_name'])
Guido
Что не так?
Спасибо.



 import __hello__

Офлайн

#2 Май 4, 2016 15:06:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Разбор Json



Офлайн

#3 Май 4, 2016 19:23:12

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Разбор Json

Спасибо.
Уже помогли. Просто у меня имя файла было Json.py Изменил и заработало.
Сейчас другая проблема встала. Как суммировать вывод из while.

import json, locale, time
locale.setlocale(locale.LC_ALL, '')
dh = int(time.strftime("%H"))
data_file=open("/home/vns.json", "r")
data = json.load(data_file)
h = 7
summ = 0
h0 = (data["interfaces"][0]["traffic"]["hours"][0]["rx"]) /1024
print (0,"ч",round(h0,1), "Mb")
while 7 < dh:
	summ =  int(data["interfaces"][0]["traffic"]["hours"][h]["rx"]) /1024
	print (h,"ч",round(summ,1), "Mb")
        h += 1
	if h == dh+1:
		break
Поясню: Считываю json-файл от vnstat. Задача: Посчитать входящий траффик за сутки кроме 1:00 ночи по 6:59 утра.
На выходе получил:
0 ч 22.9 Mb
7 ч 9.0 Mb
8 ч 21.3 Mb
9 ч 44.9 Mb
10 ч 8.7 Mb
11 ч 9.6 Mb
12 ч 2.6 Mb
13 ч 12.5 Mb
14 ч 94.2 Mb
15 ч 44.4 Mb
16 ч 22.8 Mb
17 ч 3.1 Mb
18 ч 6.3 Mb
19 ч 12.5 Mb
20 ч 19.9 Mb
21 ч 7.6 Mb
22 ч 16.2 Mb
23 ч 1.8 Mb



 import __hello__

Отредактировано delvin-fil (Май 4, 2016 19:24:11)

Офлайн

#4 Май 5, 2016 05:35:34

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Разбор Json

delvin-fil
Сейчас другая проблема встала.
И в чем именно проблема?



Офлайн

#5 Июль 5, 2016 21:23:11

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Разбор Json

FishHook
проблема
А проблема в том, чтобы суммировать все эти числа.
В принципе я решил для себя иначе. У меня Megafon, в нем личный кабинет и я дергаю остаток траффика оттуда.
import requests
from bs4 import BeautifulSoup
import re
import warnings
warnings.filterwarnings("ignore")
from requests.auth import HTTPDigestAuth
url = 'https://lk.megafon.ru/remainders/'
r=requests.get(url, auth=HTTPDigestAuth('*********', 'xxxxxx'))
sts = r.status_code
txt = r.text
soup = BeautifulSoup(txt)
word = soup.find('div', 'gadget-remainders-td gadget-remainders-td-3 gadget-remainders-summ gadget-remainders-mobile')
word = str(word)
test = re.sub('\<[^>]*\>', '', word)
print (test)
И на выходе у меня:
Осталось: 29,88 ГБ



 import __hello__

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version