[英]How to remove unnecessary characters from stdout in python?
我有這個腳本:
lec_name = request.POST['selected_name']
out = run([sys.executable,'//Projects//altg//algorithm.py',lec_name], shell=False, stdout=PIPE)
print(out.stdout)
這個腳本工作正常。 但我沒有正確獲得 output。
OUTPUT:
b"Hello World\r\n"
預期 OUTPUT:
Hello World
我該如何解決這個問題? 我找到了很多關於這個的答案,但沒有任何幫助。 我正在使用 Python 3.7.4、Django 3.0.1
您可以使用 function條來獲取刪除了前導和尾隨空格的數組副本。 如果您確定只需要刪除尾隨空格,請使用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'
>>>
您可以使用選項universal_newlines=True
。 使用以下更新的代碼。 如果您使用它,您將獲得預期的結果,如 Hello World。
out = run([sys.executable,'//Projects//altg//algorithm.py',lec_name], shell=False, stdout=PIPE, universal_newlines=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.