有没有办法在 os.system() 中连接 python 变量?

Is there a way to concatenate python variables in os.system()?

我正在尝试将 python 变量连接到 os.system,该命令似乎可以执行,但它没有正确获取分配的值。

我试过同时使用 os.system 和子进程,但 none 都有效。这是我的一些尝试。

interface = os.popen("netstat -i | awk ' ~ /^w/ {print }'")
os.system("iw dev %s station dump" % (interface))

.

interface = os.popen("netstat -i | awk ' ~ /^w/ {print }'")
os.system("iw dev" +interface+ "station dump")

.

p1 = subprocess.Popen(["netstat", "-i"], stdout=subprocess.PIPE)
p2 = subprocess.Popen(["awk", ' ~ /^w/ {print }'], stdin=p1.stdout, 
stdout=subprocess.PIPE)

displayInterface = p2.communicate()[0].decode('ascii')
retrieveMac = subprocess.Popen(["iw", "dev", displayInterface, "station", "dump"])

这一行:

displayInterface = p2.communicate()[0].decode('ascii')

displayInterface 产生一个带有尾随换行符的字符串。我不知道你是否需要 decode(),但你需要 strip 换行符。

displayInterface = p2.communicate()[0].rstrip()

如有必要,您可以在 rstrip() 的参数中指定要去除的字符。