@ru_python

Страница 182 из 9768
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) Православно?)

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
openFile = open("zonaHumor.json", 'r') humorBot = loads(openFile.read()) openFile.close() А с этим как жить?) Или так и оставить?))
если закрывать обязательно хочешь, то походу только оставить если нет - можно так же переменную упразднить

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() будет какая-то сложная обработка, да ещё и однократная (например, удаление чего-то), то будет не очень хорошо. Нравится дополнительная переменная - пользуй. Не нравится - не пользуй. Нравится, но не очень - ставь _ вместо переменной. ?

with open("cache/"+photoData[dumpKeys]+'.json', 'w') as outfile:
cache_name = photoData[dumpKeys]+'.json' cache_name = os.path.join('cache', cache_name) with open(cache_name, 'w') as outfile: чё вы так строчки экономите-то?

os.path.join - чтобы если ты завтра перенесёшь код на линукс (или на винду), чтобы сломалось поменьше.

Google
Pavel
20.01.2016
10:15:57
cache_name = photoData[dumpKeys]+'.json' cache_name = os.path.join('cache', cache_name) with open(cache_name, 'w') as outfile: чё вы так строчки экономите-то?
теперь на каждую строку можно поставить breakpoint, понять в каждый момент времени что вычисляется и что чему равно. Когда всё в одну строку, это существенно сложнее, и по шагам уже код не выполнить. а экономить единицы тактов на присвоение переменной (а на самом деле, надо в байт-код смотреть, как это скомпилируется) - это жлобство.

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
а. спиздоглазил, извини.

дада, проглядел.

то есть, проблема прочитать?

Страница 182 из 9768