![BASH->Python (2.6) 管道](https://linux22.com/image/873647/BASH-%3EPython%20(2.6)%20%E7%AE%A1%E9%81%93.png)
我需要将这一行 Bash 翻译成 Python:
sample1=($(/bin/cat /proc/meminfo | egrep 'MemTotal|MemFree|Cached|SwapTotal|SwapFree|AnonPages|Dirty|Writeback|PageTables|HugePages_' | awk ' { print $2} ' | pr -t -T --columns=15 --width=240))
我知道我需要使用 Popen 并进行交流,但我不知道如何重新安排它。
有什么帮助吗?
答案1
你不需要 popen - popen 是你用来启动进程的工具。我们不需要启动另一个进程。
而且,您不需要通过 STDIN/STDOUT 传输内容;
/proc/meminfo
遵循与 *nix 中的其他内容相同的规则。
- 一切皆文件
您可以像打开/proc/meminfo
和处理其他文件一样打开并处理它。
f = open('/proc/meminfo')
for l in f:
# do stuff with the line from the file
- 创建所需项目的字典
- 找到那些项目(编写一个函数
is_interesting(line)
或其他东西) - 进行你需要的字符串处理