Os.system не получает все результаты, которые он запускает на PythonPython

Программы на Python
Гость
Os.system не получает все результаты, которые он запускает на Python

Сообщение Гость »

Я использую инструмент httpx и код Python. Я использовал следующие команды.
(С самими командами проблем не возникло. Обратите внимание, что грамматических ошибок не было, хотя я неправильно написал команду.)

Код: Выделить всё

import os
os.system("cat all_contents.txt | httpx -sc -title")
Я хочу собрать возможные домены в текстовый файл и проверить, правильно ли они работают с httpx. Помимо этой команды, я запускаю несколько команд через os.system, но единственной проблемой является httpx. По сравнению с тем, когда я запускаю команду httpx в окне терминала, когда я запускаю файл Python, он возвращает смехотворно короткий результат.
Если 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())
Это возвращает короткие результаты, как и в случае с os.system, и когда я вывожу ошибку, команда возвращает 0, что означает нормальную работу.
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)
Он запускает только httpx, но даже не возвращает результаты, которые были получены раньше.
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

Вернуться в «Python»