[英]How do I read from the terminal in Python?
我只想使用 os.system("dir") 並且還能夠將輸出的文本保存到變量中。 我嘗試使用sys.stdout.read()
但運行sys.stdout.readable()
返回False
。 你知道我如何從終端讀取嗎?
您可以使用subprocess.check_output方法
例子
import subprocess as sp
stdout = sp.check_output("dir")
print(stdout)
使用操作系統庫:
info = os.popen('dir').read()
這里有一些關於不同流的混淆,可能是一種更好的做事方式。
對於dir
的特定情況,您可以使用os.listdir
function 或更好的os.scandir
替換您想要的功能。
對於更一般的情況,您將無法讀取任意stdout
stream。 如果你想這樣做,你必須設置一個你控制其 I/O 流的subprocess
。 這並不比使用os.system
復雜多少。 您可以使用subprocess.run
,例如:
content = subprocess.run("dir", stdout=subprocess.PIPE, check=True).stdout
run
返回的 object 具有包含您需要的所有內容的stdout
屬性。
如果您只想閱讀 go 與
x = input()
這從終端讀取一行。 x
默認情況下是一個字符串,但你可以將它轉換為 int,就像這樣
x = int(x)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.