With below clone command:
git clone https://github.com/android/media-samples.git
If run it from terminal window, below text output to screen:
Cloning into 'media-samples'...
remote: Enumerating objects: 57, done.
remote: Counting objects: 100% (57/57), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 871 (delta 16), reused 47 (delta 15), pack-reused 814
Receiving objects: 100% (871/871), 11.93 MiB | 2.54 MiB/s, done.
Resolving deltas: 100% (246/246), done.
But if I run it with Popen as below:
import os
import subprocess
os.system("rm -rf media-samples")
cmd = "git clone https://github.com/android/media-samples.git"
print(cmd)
cmd = cmd.split(" ")
sp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = sp.communicate()
out = out.decode()
err = err.decode()
if out:
print("standard output of subprocess:")
print(out)
if err:
print("standard error of subprocess:")
print(err)
print("returncode of subprocess:")
print(sp.returncode)
I got below output:
git clone https://github.com/android/media-samples.git
standard error of subprocess:
Cloning into 'media-samples'...
returncode of subprocess:
0
Lots of output text missing (see below):
remote: Enumerating objects: 57, done.
remote: Counting objects: 100% (57/57), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 871 (delta 16), reused 47 (delta 15), pack-reused 814
Receiving objects: 100% (871/871), 11.93 MiB | 2.54 MiB/s, done.
Resolving deltas: 100% (246/246), done.
The code has logic for stdout and stderr already!