Python 中的进程与线程管理
1. 替代复杂 Shell 管道的方法
在使用 Subprocess 执行非常复杂的 shell 管道时,其实有内置的等效方法。例如,我们可以使用 pwd 这个密码数据库模块来替代 Subprocess。以下是具体示例:
import pwd
pwd.getpwnam('root')
# 输出: ('root', '********', 0, 0, 'System Administrator', '/var/root', '/bin/sh')
shell = pwd.getpwnam('root')[-1]
print(shell)
# 输出: '/bin/sh'
Subprocess 还能同时处理输入、输出,并监听标准错误。例如下面这个发送输入、接收输出和标准错误的例子:
import subprocess
p = subprocess.Popen("tr a-z A-Z", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
output, error = p.communicate("translatetoupper")
print(output)
当在 IPython 中退出 Vim 时,这段代码会自动运行,输出结果为 TRANSLATETOUPPER 。
Python 进程与线程管理方法解析
超级会员免费看
订阅专栏 解锁全文
2043

被折叠的 条评论
为什么被折叠?



