Найти - Пользователи
Полная версия: цикл else
Начало » Центр помощи » цикл else
1 2 3
amwww
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}'
py.user.next
Можешь так попробовать
  
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
amwww
Так функционирует:
 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'
py.user.next
amwww
Если пишу так:
Я же тебе, долбоёбу, уже писал, что в одну строчку оно воспринимает это всё как одно имя программы с пробелами, дефисами, цифрами и прочей фигнёй.

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

Я тебе повторять не буду. Просто пошёл ты на хуй.
amwww
Тогда нужен специалист по написанию ковычек.
Так:
 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
xam1816

👉
f['/usr/bin/torsocks' '-P' '{pas}']
f cтавится перед строкой, а не списком
ZerG
Сказочный…..
amwww
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)
py.user.next
amwww
Так тоже нет:
  
[f'/usr/bin/torsocks' '-P' '{pas}']
А так оно вообще соединится воедино.

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

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

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

А будешь этим заниматься, тебя посадят в тюрягу ещё, будут по тебе крысы бегать там ночью и кормить будут плохо проваренными обрезками рогов, хвостов и копыт, оставшихся от животноводов каких-нибудь. Будешь плакать, что тебе курицу не положили.
ZerG
 Нужно английский знать хотя бы чуть-чуть
В ракурсе данной задачи хватит и русского - достаточно прочитать Лутца первые главы что бы понять
какие блять в языке на котором ты что-то собираешься писать есть типы переменных что бы не писать потом
 f["xxx" 'yyy' ]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB