簡體   English   中英

如何從 python 的標准輸出中刪除不必要的字符?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM