gpt4 book ai didi

python - rm -rf 不通过 python fork execl 脚本删除目录

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:03:20 24 4
gpt4 key购买 nike

您好,我正在尝试使用 python 的 fork 和 execl 来创建一个新的 bash 进程并删除目录“temptdir”。

我写了下面的代码:

import os

pid = os.fork()
if pid == 0:
os.execl('/bin/rm', 'rm-rf', 'temptdir') # temptdir is a directory in home folder.

我期待它会创建一个新的 bash 进程并在 bash 中运行以下命令:

rm -rf temptdir

并删除 temptdir 目录,但它显示给我:

rm-rf: temptdir: is a directory

知道为什么它不删除目录吗?还有怎么解决?

最后,在 python 文档中,python execl 命令的格式为:

execl(  path, arg0, arg1, ...)

但是如果我运行:

os.execl('/bin/echo','hello')

它不打印任何东西。 为什么我必须添加一个额外的“echo”参数,例如:

os.execl('/bin/echo','echo','hello')

最佳答案

您需要单独传递参数。因为 -rfrm 的单独参数。

import os

pid = os.fork()
if pid == 0:
os.execl('/bin/rm', 'rm', '-rf', 'temptdir') # temptdir is a directory in home folder.

关于python - rm -rf 不通过 python fork execl 脚本删除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52620378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com