gpt4 book ai didi

python - 在 Debian 上使用 Python 3 找不到 mkdir 命令

转载 作者:太空宇宙 更新时间:2023-11-03 20:46:03 25 4
gpt4 key购买 nike

我确信这很简单,但我尝试了几种设置,但似乎无法让它发挥作用。

我有以下代码:

import subprocess

p = subprocess.Popen('mkdir -p /backups/my_folder', stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)

它在 nginxpython 3 上的 flask 应用程序中运行

当执行此操作时,我收到以下错误:

/bin/sh: 1: mkdir: not found

我尝试过 shell=False,我尝试过 Popen(['mkdir', ...]),并且我尝试过 subprocess.run像这样question/answer

如果我使用 shell=False 运行,则会收到以下错误:

Error: [Errno 2] No such file or directory: 'mkdir -p /backups/my_folder': 'mkdir -p /backups/my_folder'

当我执行 /bin/mkdir 时,它起作用了。但是,还有其他命令调用失败的子命令(例如 tar 调用 gz)

为了让它发挥作用,我缺少什么?

运行:

Debian 9.8、Nginx 1.14.0、Python 3.6.8

编辑

我也需要它适用于其他命令。我知道我可以使用 os.makedirs,但我要执行几个不同的命令(rsync、ssh、tar 等)

最佳答案

对于这些简单的命令,请尝试使用 python 而不是调用 shell - 它使您更加独立于环境:

os.makedirs('/backups/my_folder', exist_ok=True)

关于python - 在 Debian 上使用 Python 3 找不到 mkdir 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56603517/

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