Python: "subprocess.Popen" vérifie le succès et les erreurs

Je veux vérifier si un sous-processus a fini de l'exécution avec succès ou de leur échec. Actuellement, j'ai une solution mais je ne sais pas si c'est correct et fiable. Est-il garanti que tous les processus de sorties de ses erreurs uniquement sur la sortie stderr respectueusement vers stdout:
Note: je ne suis pas intéressé par la redirection d'impression de la sortie. Ce que je sais déjà comment faire.

pipe = subprocess.Popen(command,
                                stdout=subprocess.PIPE,
                                stderr=subprocess.PIPE,
                                universal_newlines=True)

if "" == pipe.stdout.readline():
    print("Success")
    self.isCommandExectutionSuccessful = True

if not "" == pipe.stderr.readline():
    print("Error")
    self.isCommandExectutionSuccessful = True

sinon:

   if "" == pipe.stdout.readline():
       print("Success")
       self.isCommandExectutionSuccessful = True
   else:
       print("Error")
       self.isCommandExectutionSuccessful = False

et:

   if not "" == pipe.stderr.readline():
       print("Success")
       self.isCommandExectutionSuccessful = True
   else:
       print("Error")
       self.isCommandExectutionSuccessful = False

source d'informationauteur Zingam