[英]Execute terminal command over python
我正在嘗試獲取運行.py
的主機名,所以我使用了:
server = subprocess.Popen(["hostname"])
print(server.stdout)
但是,我得到了這個回報:
None
HOSTNAME
它總是從subprocess.Popen()
打印None
,然后在print(server.stdout)
主機名。 有沒有辦法來解決這個問題?
到目前為止,我有三個解決方案:
import subprocess
server = subprocess.Popen(["hostname"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(server.stdout.read().decode().rstrip("\n"))
import subprocess
server = subprocess.Popen(["hostname"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = server.communicate()
print(out.decode().rstrip("\n"))
import subprocess
print(subprocess.check_output("hostname").decode().rstrip("\n"))
我想知道您是否可以直接獲取字符串,但它有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.