python-2.7 - Popen.wait() 的常见/实际用途是什么

标签 python-2.7 subprocess

我试图理解这行代码:

def delete_dir(dir):
    with open('/dev/null', 'w+') as null:
        subprocess.Popen("rm -r %s" % dir, shell=True, stdout=null, stderr=null).wait()

我是编程新手,所以我缺乏上下文来理解为什么这个过程设置为等待。设置进程等待的常见做法有哪些?谢谢

最佳答案

Popen.wait不告诉进程等待,它告诉我们的脚本在继续执行之前等待进程终止。当子进程正在做一些会影响脚本行为的事情时,这非常有用。

在这种情况下,我们等待 rm -r 命令完成删除给定的目录,然后再继续,因为如果我们的函数被称为 delete_dir ,这是合理的让调用者期望在函数返回之前删除目录。


with open('/dev/null', 'w+') as null(如果您好奇的话)的目的是通过管道传输子进程的 来抑制子进程的任何输出stdoutstderr/dev/null句柄。

关于python-2.7 - Popen.wait() 的常见/实际用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48924580/

相关文章:

python - Python中的子进程执行两个任务?

python - 设置 python 管道 - python 子进程

python - 使用 Pycharm 运行 Nosetests 并获得 "Empty test suite"

python-2.7 - Kivy 屏幕过渡带时间延迟

python - 如何使用子进程拦截 "pipenv install"spinner-like 输出消息?

python - 与 C 程序通信时,子进程 Popen 无效参数/损坏的管道

macos - Matplotlib Python窃取屏幕焦点

Python,将时间戳字符串转换为 MMDDHH 整数

python - subprocess ls Examples/* 没有这样的文件或目录

Python Subprocess.Popen 和 rdesktop