如何从python中的stdout中删除不必要的字符?

问题描述 投票:0回答:1

我有这个脚本:

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

python django python-3.x stdout
1个回答
0
投票

您可以使用函数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'
>>> 
© www.soinside.com 2019 - 2024. All rights reserved.