Python bash 输出成字符串

Python bash output into string

我有 RaspberryPi,我制作了一个 Python 脚本,它会在启动时向我发送一封电子邮件。我遇到的唯一问题是 Pi 经常更改 IP(DHCP),所以我希望它也包括命令输出:

hostname -I

curl ipinfo.io/ip

在电子邮件中。

subprocess 函数 returns 可以将命令的结果附加到您的电子邮件中的字符串:

import subprocess
host = subprocess.check_output(['hostname', '-I'], shell=True, universal_newlines=True) # a string is returned
curl = subprocess.check_output(['curl', 'ipinfo.io/ip'], shell=True, universal_newlines=True)

您可以在两个字符串上调用 rstrip() 以去除任何结尾的换行符。