我正试图用git做一些事情。我想知道如何使用 if语句参数来检查该命令是否正确完成:
git checkout master && git reset --hard && git fetch && git pull
我正在尝试检查输出是否等于if语句,但我想这是一个坏主意。这是一个代码:
#!/usr/bin/python3
import os
import subprocess
import time
while True:
x = subprocess.getoutput("git checkout master && git reset --hard && git fetch && git pull")
if x is "Some text":
print('Some actions there')
time.sleep(3600)
所以我想知道有没有办法检查命令是否完成。
答案 0 :(得分:0)
使用subprocess模块,但使用Popen或run执行每项命令。我建议使用后者,因为它的返回类型具有有用的check_returncode()方法。使用shlex.split()将命令转换为其部分列表。
基本上你想要做的是:
import subprocess, shlex
for (cmd in ("git checkout master", "git reset --hard", "git fetch", "git pull")):
subprocess.run(shlex.split(cmd)).check_returncode()
免责声明:这是临时编写的,未经过测试。它只是向你展示如何到达那里,而不是一直为你做到这一点。