
Kolyann
20.01.2016
09:18:48
получилось стильно, модно, молодёжно

Whore Amazing
20.01.2016
09:19:00
ну у всех бывают ошибки
неважно, на чем ты пишешь, на питоне или на яве
важно, чтобы не на яве

Igor
20.01.2016
09:19:54
??

Google

Igor
20.01.2016
09:39:41
def cache():
keys=photoData.keys()
for dumpKeys in keys:
vkRequest = vk.photos.get(owner_id=-8109175, album_id=photoData[dumpKeys])
with open("cache/"+photoData[dumpKeys]+'.json', 'w') as outfile:
dump(vkRequest, outfile)
Православно?)

Whore Amazing
20.01.2016
09:40:27

Igor
20.01.2016
09:40:37
понял

Whore Amazing
20.01.2016
09:40:58
лучше не плодить лишних переменных, если они используются один раз)

Igor
20.01.2016
09:41:17
ну я такую фичу не всегда запоминаю)
openFile = open("zonaHumor.json", 'r')
humorBot = loads(openFile.read())
openFile.close()
А с этим как жить?) Или так и оставить?))

Whore Amazing
20.01.2016
09:42:43

Igor
20.01.2016
09:43:00
закрывать для экономии ОЗУ над

Ilya
20.01.2016
09:43:37
а рид вроде не особо

Whore Amazing
20.01.2016
09:43:43
ну да
прост если файл небольшой, иногда можно пренебречь

Ilya
20.01.2016
09:43:45
хотя да, вроде память экономнее
а на райт 100% :)

Igor
20.01.2016
09:43:59
там файл на 2к строчек

Google

Igor
20.01.2016
09:44:01
или больше

Ilya
20.01.2016
09:44:32
строчки строчкам рознь :) реестр запрещённых сайтов это файл в одну 5мбайтную строку :)

Igor
20.01.2016
09:46:14
def cache():
for dumpKeys in photoData.keys():
vkRequest = vk.photos.get(owner_id=-8109175, album_id=photoData[dumpKeys])
with open("cache/"+photoData[dumpKeys]+'.json', 'w') as outfile:
dump(vkRequest, outfile)
openFile = open("cache/"+photoData[dumpKeys]+'.json', 'r')
vkCache+photoData[dumpKeys] = loads(openFile.read())
openFile.close()
хочу назвать эту переменную во имя vkCache_84047762 например
Но, так то нельзя же переменным давать имена, тогда как?))

Whore Amazing
20.01.2016
09:47:07
почему нельзя?

Igor
20.01.2016
09:47:13
ну ошибон дает

Whore Amazing
20.01.2016
09:47:20
странно

Igor
20.01.2016
09:47:26
уже нет

Ilya
20.01.2016
09:47:27
какой?

Igor
20.01.2016
09:48:21
can`t assigin to operator
во
отдает ошибку
все ранво
равно

Whore Amazing
20.01.2016
09:48:52
чото эзотерика. покажи как делаешь

Igor
20.01.2016
09:49:30
def cache():
for dumpKeys in photoData.keys():
vkRequest = vk.photos.get(owner_id=-8109175, album_id=photoData[dumpKeys])
with open("cache/"+photoData[dumpKeys]+'.json', 'w') as outfile:
dump(vkRequest, outfile)
openFile = open("cache/"+photoData[dumpKeys]+'.json', 'r')
vkCache+photoData[dumpKeys] = loads(openFile.read())
openFile.close()
ошибка тут
vkCache+photoData[dumpKeys] = loads(openFile.read())

Whore Amazing
20.01.2016
09:49:46
ну разумеется.

Kolyann
20.01.2016
09:49:47
che+pho
присваивание производится одномобъекту
а не их сумме
a+b = 5
error

Google

Whore Amazing
20.01.2016
09:50:20
он хочет имя переменной генерить
динамически

Kolyann
20.01.2016
09:50:20
a = b+5
ok
ну дикт в помощь

Whore Amazing
20.01.2016
09:50:30
покажи ему как
а мне печку топить надо

Kolyann
20.01.2016
09:51:53
я ток не помню
как зовётся этот сейфовый дикт

Igor
20.01.2016
09:52:40
мля
и чо делать?))

Kolyann
20.01.2016
09:53:10
from collections import defaultdict
и в него уже захуяривай свои переменные

Igor
20.01.2016
09:55:04
типа defaultdict(vkCache,photoData[dumpKeys]) или как?)

Igor
20.01.2016
09:56:51
эмда

Whore Amazing
20.01.2016
09:57:24
не помню
почитай доку по либе

Pavel
20.01.2016
10:02:10
Нахрена убрал with open() as f? Эта конструкция сама файл закроет, если внутри неё ексепш вывалится.

Igor
20.01.2016
10:04:00
with open("cache/"+photoData[dumpKeys]+'.json', 'w') as outfile:

Pavel
20.01.2016
10:04:01
и про лишние переменные не слушай чушь. значение photoData.keys() в дебагере посмотреть можно, но проще присвоить это в переменную keys, которую можно смотреть в дебагере, вываливать в pprint и т.д.
ну то есть, {}.keys() тоже можно в pprint скормить, и даже в этом случае всё будет хорошо. Но если вместо keys() будет какая-то сложная обработка, да ещё и однократная (например, удаление чего-то), то будет не очень хорошо.
Нравится дополнительная переменная - пользуй. Не нравится - не пользуй. Нравится, но не очень - ставь _ вместо переменной. ?
os.path.join - чтобы если ты завтра перенесёшь код на линукс (или на винду), чтобы сломалось поменьше.

Google

Pavel
20.01.2016
10:15:57

Igor
20.01.2016
10:22:15
а с переменной той как жить?)

Pavel
20.01.2016
10:23:13
или ты про что сейчас?

Igor
20.01.2016
10:23:35
про это же
def cache():
for dumpKeys in photoData.keys():
vkRequest = vk.photos.get(owner_id=-8109175, album_id=photoData[dumpKeys])
with open("cache/"+photoData[dumpKeys]+'.json', 'w') as outfile:
dump(vkRequest, outfile)
openFile = open("cache/"+photoData[dumpKeys]+'.json', 'r')
vkCache+photoData[dumpKeys] = loads(openFile.read())
openFile.close()
ошибка тут
vkCache+photoData[dumpKeys] = loads(openFile.read())
надо как то назвать же ее

Pavel
20.01.2016
10:24:03
а что ты хочешь сделать?

Admin
ERROR: S client not available

Igor
20.01.2016
10:24:42
сделать переменную с именем к примеру vkCache84047762, где 84047762 - ID альбома
с которого беру фото

Pavel
20.01.2016
10:25:30
vkCache = {}
vkCache[84047762] = json.loads(...)
?

Igor
20.01.2016
10:25:43
эц
но

terry
20.01.2016
10:26:00
https://xakep.ru/2016/01/20/linux-keyring-reference-leak/

Igor
20.01.2016
10:26:02
photoData[dumpKeys]
тут же ключики

Pavel
20.01.2016
10:27:10
и чо?

Igor
20.01.2016
10:27:17
лан
ща

Pavel
20.01.2016
10:28:57
на самом деле. у тебя там две функции в одной. в половине ты читаешь из вк и сохраняешь в файл, в другой половине ты читаешь из файлы. Это разные операции, set_cache и get_cache.
то есть, get_cached

Google

Igor
20.01.2016
10:32:20
ну ошибки как минимум нет
А как же вызивать данную переменную? ибо вот такое не пашет
photoData={
"/zona_wallpaper":"84047762",
"/zona_avatar":"151669801",
"/zona_cosplay":"217797477",
"/zona_bugs":"136309850",
"/zona_screen":"178209537",
"/zona_fanart":"97770808",
"/zona_panorama":"154937145",
"/zona_mem":"182668817",
"/zona_creative":"182748780",
"/zona_official_art":"98079802",
"/zona_weapon":"203935010"
}
def cache():
for dumpKeys in photoData.keys():
vkRequest = vk.photos.get(owner_id=-8109175, album_id=photoData[dumpKeys])
cache_name = photoData[dumpKeys]+'.json'
cache_name = join('cache', cache_name)
with open(cache_name, 'w') as outfile:
dump(vkRequest, outfile)
openFile = open("cache/"+photoData[dumpKeys]+'.json', 'r')
vkCache = {}
vkCache[photoData[dumpKeys]] = loads(openFile.read())
openFile.close()
cache()
print(vkCache[photoData["/zona_wallpaper"]])

Kolyann
20.01.2016
10:32:25
get rekt

Whore Amazing
20.01.2016
10:33:04

Pavel
20.01.2016
10:33:30
давай def cache() разделим на reset_cache и get_cached?

Igor
20.01.2016
10:33:42
ну давай

Pavel
20.01.2016
10:34:10
вот из этого мы сделаем первыю часть
for dumpKeys in photoData.keys():
vkRequest = vk.photos.get(owner_id=-8109175, album_id=photoData[dumpKeys])
cache_name = photoData[dumpKeys]+'.json'
cache_name = join('cache', cache_name)
with open(cache_name, 'w') as outfile:
dump(vkRequest, outfile)
openFile = open("cache/"+photoData[dumpKeys]+'.json', 'r')
vkCache = {}
vkCache[photoData[dumpKeys]] = loads(openFile.read())
openFile.close()
а из получится вторая.

Igor
20.01.2016
10:34:56
я уже сделал)

Pavel
20.01.2016
10:35:17
всё-таки, это две разные операции, хотя мы и будем их делать по-очереди (пока).

Igor
20.01.2016
10:35:27
ну да

Pavel
20.01.2016
10:36:09
теперь, что не так? у тебя файлы создаются в количестве примерно десятка, с именами из цифр?

Igor
20.01.2016
10:36:28
да

Pavel
20.01.2016
10:36:31
нет

Igor
20.01.2016
10:36:33
они и тогда создавались

Pavel
20.01.2016
10:36:48
утебя файлы - zona_wallpaper, zona_music и что там ещё.

Igor
20.01.2016
10:36:57
вот смотри

Pavel
20.01.2016
10:37:53
а. спиздоглазил, извини.
дада, проглядел.
то есть, проблема прочитать?