@python_beginnersЭта группа больше не существует

Страница 854 из 1885
Igor
30.11.2016
12:09:15
Темный
30.11.2016
12:09:54
вы о qwe аргументе или папке?

Igor
30.11.2016
12:10:12
т.е. по идее вообще не должно создаться ниодной папки?
ты скажи че ты хочешь. чтобы скрипт создавал папки: input/ input/hello/ input/fucking/ input/world/ ... output/ scenes/ ?

QQ
30.11.2016
12:10:36
да, он так создаёт. со списком всё корректно.

Google
Темный
30.11.2016
12:10:55
ну, передавай списки

Igor
30.11.2016
12:11:03
ну вот как бы да

QQ
30.11.2016
12:11:06
ты скажи че ты хочешь. чтобы скрипт создавал папки: input/ input/hello/ input/fucking/ input/world/ ... output/ scenes/ ?
когда я пишу "qwe", предположил, что создаст q, затем w, затем e, вложенные друг в друга

Igor
30.11.2016
12:11:23
нет, с хуя ли бы!

Темный
30.11.2016
12:11:27
нет

ты же по списку идешь

QQ
30.11.2016
12:11:40
он почему то создает q и w

у них типо есть первый идекс?

Темный
30.11.2016
12:12:10
ты d[1] берешь

Igor
30.11.2016
12:12:56
если folders = 'qwe' - именно так - и при этом for d in folders, то d[1] у тебя никогда не будет, это невозможно

если folders = ['qwe'], то это другой вопрос

тогда d == 'qwe', и d[0] - 'q', а d[1] = 'w'

Темный
30.11.2016
12:14:05
почитай про индексы и циклы

Google
Igor
30.11.2016
12:14:20
++ и printы размести, чтоб понятнее было, че происходит ваще

QQ
30.11.2016
12:14:26
Темный
30.11.2016
12:15:03
это я прочитал
тогда как выше игор советует, расставь отладочные принты

Igor
30.11.2016
12:16:10
потому что у меня такое впечатление сложилось, что ты таки делаешь folders = ['qwe'] тогда, когда ты вызываешь build(..., folders), он итерируется по data (она же folders) там только один элемент, строка 'qwe' у нее d[0] = 'q', там создается папка 'q' (потому что name == d[0])

а потом вызывается снова build, но уже с аргументом data == d[1] (который равен "w")

он берет for d in data (for d in 'w'), так d становится одним-единственным элементом в data. name = d[0], т.е. name == 'w' создается папка 'w'. а потом хуяк - d[1] - а его-то и нету, блядь! у тебя в data только один символ 'w', который ты и передал

если ты хочешь в рекурсивном вызове build'у передавать все оставшиеся символы, а не только второй (d[1]), то надо вызывать так build(path_interior, d[1:])

это будет срез массива (ну, строки. похуй) без первого элемента

заодно срез спасет тебя от хуйни в виде index error'а

ибо In [6]: 'qwe'[1:] Out[6]: 'we' In [7]: 'we'[1:] Out[7]: 'e' In [8]: 'e'[1:] Out[8]: '' In [9]: ''[1:] Out[9]: ''

т.е. на четвертой итерации у тебя будет пустая строка и условие if data не сработает

QQ
30.11.2016
12:20:25
и в данном случае без разницы что получать список со строкой или просто строку?

Igor
30.11.2016
12:21:43
ну, и по строке, и по списку можно проходиться циклом и делать срезы

QQ
30.11.2016
12:22:23
спасибо

Темный
30.11.2016
12:23:08
а зачем тут пустые вложения списка?

QQ
30.11.2016
12:23:58
понятия не имею, но скорее всего потому что в функцию передаётся два аргумента

Igor
30.11.2016
12:24:21
пустые вложения для того, чтобы рекурсия по пизде шла

потому что он d[1] вызывает

Темный
30.11.2016
12:24:55
какойто странный способ создавать папки)

Google
Темный
30.11.2016
12:25:30
а че за курсы у тебя?

QQ
30.11.2016
12:26:10
а че за курсы у тебя?
из пиннеда, третья ссылка с самого верху. "Курс видеоуроков в пачке, формат торрент-раздачи(2 года назад вылил сам с торрента и храню у себя), у кого не открывается можете просто скачать торрент файл http://www.ex.ua/101768608 "

Темный
30.11.2016
12:27:19
у Гайденко (или гайдинко?) есть быстрый видеокурс, там рассматривают тоже создание, но на 2.7

QQ
30.11.2016
12:27:47
да это тоже на 2 версии питона

Темный
30.11.2016
12:28:17
ну, может, попробуй тогда глянуть, оно там в самых первых видео (вроде)

Темный
30.11.2016
12:30:18
в пиннеде?
http://nnmclub.to/forum/viewtopic.php?t=906966 Вообще они платные, если хочешь отблагодарить автора, то гугл (воркшопы питон)

Темный
30.11.2016
12:31:30
лол.)

Alexey
30.11.2016
12:55:56
день добрый

Alexey
30.11.2016
12:56:43
использую python 2.7 и стандартную библиотеку subprocess

df

пишу код proc = subprocess.Popen(['7z', 'e', filename, '-o'+dst], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE) хочу распаковать архив, но при распаковке он проси пароль. Как перехватить ввод и отправить туда b'\n'

Это не помогает proc.communicate(input=b'\n')

Igor
30.11.2016
13:07:27
а почему stdin subprocess.pipe?

Alexey
30.11.2016
13:09:32
в доке так: "Popen.stdin If the stdin argument was PIPE, this attribute is a file object that provides input to the child process. Otherwise, it is None. "

Igor
30.11.2016
13:10:47
ну да, разве provide input to the child process - это не то, что тебе нужно?) сорри, могу тупить

кстати, p7zip с некоторых версий заимел ключик -p для определения пароля

Google
Alexey
30.11.2016
13:14:31
Igor
30.11.2016
13:14:42
а если shell=True?

Zart
30.11.2016
13:14:46
стрингио на стдин

накой шелл

Igor
30.11.2016
13:14:58
стрингио на стдин
вот да, хотел предложить

Zart
30.11.2016
13:18:17
гм, а не хавает, бо дескриптора нет 8)

Alexey
30.11.2016
13:18:57
Processing failed: StringIO instance has no attribute 'fileno'

(

Zart
30.11.2016
13:21:51
output, error = subprocess.Popen(['7z', ...], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate(b'\n')

Admin
ERROR: S client not available

Alexey
30.11.2016
13:26:36
чет не помогло, затыкается ждет в терминале нажатия клавиши

Zart
30.11.2016
13:27:52
ось?

b'\r\n' может попробовать, хых

Igor
30.11.2016
13:28:36
или \n\n

вроде communicate всегда хочет \n в конце

Alexey
30.11.2016
13:29:05
gentoo

Igor
30.11.2016
13:29:08
мб для того, чтобы отправить новую строку, надо \n\n хуйнуть

Alexey
30.11.2016
13:31:50
ни как не жрет

Zart
30.11.2016
13:33:12
вопрос в том откуда 7з пароль читает..

Alexey
30.11.2016
13:36:54
из консоли читает. Вот можно воспроизвести: 7z e /home/user/test.7Z -o/tmp/ 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-4700HQ CPU @ 2.40GHz (306C3),ASM,AES-NI) Scanning the drive for archives: 1 file, 445321 bytes (435 KiB) Extracting archive: /home/user/test.7Z Enter password (will not be echoed):

Google
b0g3r
30.11.2016
13:51:49
можно мне немного оффтопа?

нашел где хром хранит папки пользователей, а где хром хранит список пользователей?

Есть подозрение что нигде - просто именует папки как Default, Profile 1, Profile 2, ...

Тогда вопрос снят, всем резиновым уточкам спасибо

Aleksandr
30.11.2016
14:07:55
Хром ось?

b0g3r
30.11.2016
14:09:42
неа

Logerk49
30.11.2016
15:08:31
кто решал задачу со степика, где надо вывести line, если line содержит cat больше 2х раз? скиньте решение

test_word = "dsacatds1acat" substring = "cat" if substring in test_word: startw = test_word.find(substring) if substring in test_word[startw+3?: print(ltest_word)

вот мое

arisu
30.11.2016
15:17:08
как мой хуй

Pavel
30.11.2016
15:17:19
А то типа len(s.split('cat'))

как мой хуй
Ну то есть даже в память ардуинки влезет.

Zart
30.11.2016
15:23:39
или номер курса

а, он другой курс делает, не от биоинформатики

Logerk49
30.11.2016
15:27:20
можно линк?

Zart
30.11.2016
15:27:53
https://stepik.org/course/Программирование-на-Python-67/syllabus

Logerk49
30.11.2016
15:28:07
спасибо

Maksim
30.11.2016
15:38:36
ELENA
30.11.2016
15:51:37
Подскажите пожалуйста. Что имеет в виду этот код? class GameObject: class_name='' desc='' objects={} def __init__(self,name): self.name=name GameObject.objects[self.class_name]=self Меня интересует последняя строчка кода.

Страница 854 из 1885

Эта группа больше не существует Эта группа больше не существует