Как удалить ненужные символы из stdout в python? - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть этот скрипт:

lec_name = request.POST['selected_name']
out = run([sys.executable,'//Projects//altg//algorithm.py',lec_name], shell=False, stdout=PIPE)
print(out.stdout)

Этот скрипт отлично работает. Но я не получаю вывод правильно.

ВЫХОД:

b"Hello World\r\n"

ОЖИДАЕМЫЙ ВЫХОД:

Hello World

Как я могу решить эту проблему? Я нашел много ответов по этому поводу, но никто не помог. Я использую Python 3.7.4, Django 3.0.1

1 Ответ

1 голос
/ 18 апреля 2020

Вы можете использовать функцию strip , чтобы получить копию массива с удаленными начальными и конечными пробелами. Если вы уверены, что должны быть удалены только конечные пробелы, используйте rstrip

Примечание b'Hello World ' - это массив байтов, а не строка, если вы хотите чтобы преобразовать его в строку, вы можете использовать decode ("utf-8")

pi@raspberrypi:/tmp $ python3
Python 3.7.3 (default, Dec 20 2019, 18:57:59) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> b"Hello World\r\n".strip()
b'Hello World'
>>> b"Hello World\r\n".strip().decode("utf-8") 
'Hello World'
>>> 
...