
Igor
30.11.2016
12:09:15

Темный
30.11.2016
12:09:54
вы о qwe аргументе или папке?

Igor
30.11.2016
12:10:12

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

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
ну, может, попробуй тогда глянуть, оно там в самых первых видео (вроде)

QQ
30.11.2016
12:28:32

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

QQ
30.11.2016
12:30:35

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

Zart
30.11.2016
12:45:16

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)
вот мое

Pavel
30.11.2016
15:16:35

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
Меня интересует последняя строчка кода.
Эта группа больше не существует