(С самими командами проблем не возникло. Обратите внимание, что грамматических ошибок не было, хотя я неправильно написал команду.)
Код: Выделить всё
import os
os.system("cat all_contents.txt | httpx -sc -title")
Если httpx вообще не работает, я определенно думаю, что я неправильно использовал код. Но в данном случае проблема в том, что httpx работает хорошо, но результаты выполнения работают недолго. Я предполагаю, что «есть разница в выводе результатов между терминалом и выполнением кода Python. " Когда я запускаю код Python, кажется, что что-то мешает выводу, или я не получаю все результаты, выполняемые в окне. Но я не знаю точной причины.
Я попробовал:
1) Изменить os.system на подпроцесс команды Popen
Код: Выделить всё
import subprocess
command = "cat all_contents.txt | httpx -sc -title"
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
print("STDOUT:", stdout.decode())
print("STDERR:", stderr.decode())
2) Измените os.system на подпроцесс команды check_output
Код: Выделить всё
import os
command = "cat all_contents.txt | httpx -sc -title"
result = subprocess.check_output(command, shell=True, text=True)
print(result)
3) Настройка параметров httpx
Код: Выделить всё
import os
os.system("cat all_contents.txt | httpx -sc -title -t 100 -timeout 5")
4) Добавление переменных среды
Код: Выделить всё
import os
os.environ['something'] = 'example_value'
Осталось предположить, стоит ли мне добавить что-то вроде метода wait(), пока команда не будет выполнена правильно. Однако я даже не знаю, правильно ли это, и изо всех сил стараюсь. Пожалуйста, дайте мне какой-нибудь совет.
Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-python