如何配置os.system()和子进程库?

2024-09-30 18:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用os从python克隆git repo:

  `os.system(repo_dir)`

其中repo_dir是github存储库的command+目录,如git clone https://github.com/rudskoy/pyTelegramBotAPI

我试图调查的一件事是,命令的结果在哪里

我遵循了两种情况来调查这一点:

  1. 尝试使用subprocessgit clone命令收集输出,如下所示:

    output = subprocess.check_output("git clone "https://github.com/rudskoy/pyTelegramBotAPI", shell=True)

然后output=''-我想这是可以的,因为如果我尝试重复这个命令,它会抛出一个异常

  1. 我试图在terminal:mdfind kind:folder "PyTelegramBotAPI"中使用mdfind找到实际结果

结果:enter image description here

我假设output的子进程调用和os.system()的工作原理相同(它们将repos克隆到/Documents/)

我的问题:

关于subprocess调用-为什么我的输出是空的

关于os.system()–如何更改目标目录(例如,将其写入~/some\u dir而不是~/Users//Documents)。我可以在os.system()包装的命令中指定目录,但是我想使用os.system()来实现它,我认为它非常正确


Tags: httpsgit命令github目录comoutputclone