我只想要带有 python 的 linux 系统上的 wlan 设备名称。我可以使用 shell 脚本获取设备名称:
echo /sys/class/net/*/wireless | awk -F'/' '{ print $5 }'
所以我想在 python 中使用这个subprocess
。
import shlex
import subprocess
def main():
echo = shlex.split('echo /sys/class/net/*/wireless')
echo_proc = subprocess.Popen(echo, shell=True, stdout=subprocess.PIPE)
awk = shlex.split("awk -F'/' '{ print $5 }'")
awk_proc = subprocess.Popen(awk, stdin=echo_proc.stdout)
print(awk_proc.stdout)
但我只得到None
输出。如果可能的话,我更喜欢使用subprocess.run()
. 所以我换成Popen
了run
. 但后来我收到错误消息AttributeError: 'bytes' object has no attribute 'fileno'
。