Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 7, 2022 17:37:00

amwww
Зарегистрирован: 2022-12-06
Сообщения: 12
Репутация: +  -1  -
Профиль   Отправить e-mail  

цикл else

C torsocks не получилось

 import random
import subprocess
pas = '9150'
p = subprocess.Popen(
    [f'torsocks -P {pas}'],
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE 
)
text_from_stdout = p.stdout.read().decode('utf-8')
text_from_stderr = p.stderr.read().decode('utf-8')
print(text_from_stdout[:20])
print('9150' in text_from_stdout)
print('9150' in text_from_stdout)
print(text_from_stderr[:20])
Пишет:
 Traceback (most recent call last):
                                    File "/home/1.py", line 4, in <module>
                                                                                   p = subprocess.Popen(
                                                                                                          File "/usr/lib/python3.10/subprocess.py", line 969, in __init__
                                                                                                                                                                             self._execute_child(args, executable, preexec_fn, close_fds,
                                                       File "/usr/lib/python3.10/subprocess.py", line 1845, in _execute_child
                                                                                                                                 raise child_exception_type(errno_num, err_msg, err_filename)
         FileNotFoundError: [Errno 2] No such file or directory: 'torsocks -P {pas}'

Офлайн

#2 Дек. 7, 2022 21:38:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

цикл else

Можешь так попробовать

  
p = subprocess.Popen(
    ['torsocks', '-P', '9150'],
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE 
)

Может быть, оно тебе что-то выдаст. Но лучше сначала тренироваться на программах, которые точно что-то выдают.

amwww
No such file or directory: 'torsocks -P {pas}'
Он пытается найти это всё целиком, как будто это имя программы. А имя программы здесь только torsocks, а остальное всё - это аргументы этой программы. Поэтому подаваться это всё в Popen() должно по отдельности в одном списке. Здесь писал, что cat - это программа, а всё остальное - это аргументы программы. Два аргумента ей подаётся: первый аргумент /etc/passwd; второй аргумент - nothing. В консоли операционной системы она будет выглядеть так
cat /etc/passwd nothing



Отредактировано py.user.next (Дек. 7, 2022 21:44:41)

Офлайн

#3 Дек. 8, 2022 15:13:10

amwww
Зарегистрирован: 2022-12-06
Сообщения: 12
Репутация: +  -1  -
Профиль   Отправить e-mail  

цикл else

Так функционирует:

 import random
import subprocess
import sys
pas = ''
pas = pas + random.choice(list('1234567890')) #Символы, из которых будет составлен пароль
cmd = f'/usr/bin/torsocks -P {pas}'
stdout=subprocess.PIPE
p = subprocess.Popen(cmd, shell = True)
Пишет в консоль:
 Please provide an application to torify.
Не получается записать вывод консоли в переменную.
Если пишу так:
 import random
import subprocess
import sys
pas = ''
pas = pas + random.choice(list('1234567890')) #Символы, из которых будет составлен пароль
proc = subprocess.Popen(f'/usr/bin/torsocks -P {pas}', stdout=subprocess.PIPE)
output = proc.stdout.read()
Пишет в консоль ошибку:
 Traceback (most recent call last):
                                    File "/home/kali/test.py", line 6, in <module>
                                                                                      proc = subprocess.Popen(f'/usr/bin/torsocks -P {pas}', stdout=subprocess.PIPE)
                                                                                                                                                                      File "/usr/lib/python3.10/subprocess.py", line 969, in __init__
                                             self._execute_child(args, executable, preexec_fn, close_fds,
                                                                                                           File "/usr/lib/python3.10/subprocess.py", line 1845, in _execute_child
                                                                                                                                                                                     raise child_exception_type(errno_num, err_msg, err_filename)
                                                     FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/torsocks -P 3'

Отредактировано amwww (Дек. 8, 2022 19:00:55)

Офлайн

#4 Дек. 8, 2022 20:57:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

цикл else

amwww
Если пишу так:
Я же тебе, долбоёбу, уже писал, что в одну строчку оно воспринимает это всё как одно имя программы с пробелами, дефисами, цифрами и прочей фигнёй.

amwww
  
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/torsocks -P 3'
Он вот это всё “/usr/bin/torsocks -P 3” считает одним целым именем программы.

Я тебе повторять не буду. Просто пошёл ты на хуй.



Офлайн

#5 Дек. 8, 2022 21:46:37

amwww
Зарегистрирован: 2022-12-06
Сообщения: 12
Репутация: +  -1  -
Профиль   Отправить e-mail  

цикл else

Тогда нужен специалист по написанию ковычек.
Так:

 import random
import subprocess
import sys
pas = ''
pas = pas + random.choice(list('1234567890')) #Символы, из которых будет составлен пароль
proc = subprocess.Popen(f['/usr/bin/torsocks' '-P' '{pas}'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = proc.stdout.read()
Не получается подставить в строку переменную:
 Traceback (most recent call last):
                                    File "/home/kali/test.py", line 6, in <module>
                                                                                      proc = subprocess.Popen(f['/usr/bin/torsocks' '-P' '{pas}'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
      NameError: name 'f' is not defined

Офлайн

#6 Дек. 8, 2022 23:32:00

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1309
Репутация: +  113  -
Профиль   Отправить e-mail  

цикл else


👉

f['/usr/bin/torsocks' '-P' '{pas}']
f cтавится перед строкой, а не списком

Офлайн

#7 Дек. 9, 2022 00:22:52

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2584
Репутация: +  60  -
Профиль   Отправить e-mail  

цикл else

Сказочный…..



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#8 Дек. 9, 2022 03:48:15

amwww
Зарегистрирован: 2022-12-06
Сообщения: 12
Репутация: +  -1  -
Профиль   Отправить e-mail  

цикл else

xam1816
f cтавится перед строкой, а не списком
Но f чтобы вместо {pas} использовать значение переменной.
Так получалось:
 cmd = f'/usr/bin/torsocks -P  {pas}'
Так тоже нет:
 proc = subprocess.Popen([f'/usr/bin/torsocks' '-P' '{pas}'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)

Офлайн

#9 Дек. 9, 2022 05:09:06

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

цикл else

amwww
Так тоже нет:
  
[f'/usr/bin/torsocks' '-P' '{pas}']
А так оно вообще соединится воедино.

Потому что строки конкатенируются в скобках (круглых, квадратных, фигурных)
  
>>> ['aaa' 'bbb' 'ccc']
['aaabbbccc']
>>> 
>>> ('aaa' 'bbb' 'ccc')
'aaabbbccc'
>>> 
>>> {'aaa' 'bbb' 'ccc'}
{'aaabbbccc'}
>>>

Там получится в итоге
  
['/usr/bin/torsocks-P9150']
И вот это будет искаться в операционной системе в виде такой программы с таким названием.

И кто тебе сказал, что в программирование можно наугад залазить? Нужно английский знать хотя бы чуть-чуть, нужно школу среднюю окончить, а не один класс образования в таборе и нужно чтобы ещё с головой всё в порядке было, а не справка от психиатра о прогрессирующей олигофрении на фоне приёма альфы и аналогов.

А будешь этим заниматься, тебя посадят в тюрягу ещё, будут по тебе крысы бегать там ночью и кормить будут плохо проваренными обрезками рогов, хвостов и копыт, оставшихся от животноводов каких-нибудь. Будешь плакать, что тебе курицу не положили.



Отредактировано py.user.next (Дек. 9, 2022 05:15:05)

Офлайн

#10 Дек. 9, 2022 06:49:36

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2584
Репутация: +  60  -
Профиль   Отправить e-mail  

цикл else

 Нужно английский знать хотя бы чуть-чуть
В ракурсе данной задачи хватит и русского - достаточно прочитать Лутца первые главы что бы понять
какие блять в языке на котором ты что-то собираешься писать есть типы переменных что бы не писать потом
 f["xxx" 'yyy' ]



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version