簡體   English   中英

如何從 Python 中的終端讀取?

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

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