En supposant que discursivement signifie déconnecter et divaguer signifie tous dans le même fichier, l'extrait suivant est ce que vous avez demandé.
exploitation forestière discursive à la discrimination de la source et l'interaction
passer outre sa communication méthode comme question similaire here
import subprocess
def logcommunicate(self, s):
self.logfilehandle.write("Input "+s)
std = self.oldcommunicate(s)
self.logfilehandle.write("Output "+std[0])
return std
subprocess.Popen.oldcommunicate = subprocess.Popen.communicate
subprocess.Popen.communicate = logcommunicate
logfh = open("/tmp/communicate.log", "a")
proc = subprocess.Popen(['cat'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
proc.logfilehandle = logfh
result = proc.communicate("hello there\n")
print result
exploitation forestière discursive à la discrimination de la source
Première utilisation StringIO au lieu de fichiers, alors sous-classe StringIO pour remplacer sa méthode d'écriture à open qui ajoute l'horodatage et la source. Ensuite, écrire une fonction de comparaison personnalisée qui trie basée sur l'horodatage et la source, l'horodatage d'abord et ensuite l'entrée de la source puis sortie
with open("file.log","wb") as in logfile:
out = MyOutPutStringIO.StringIO()
in = MyInputStringIO.StringIO()
subprocess.Popen(cmd, shell=True, universal_newlines = True, stdin=in, stdout=out)
#Then after you are done
linestotal = []
for line in in.readlines():
linestotal.append(line)
for line in out.readlines():
linestotal.append(line)
linestotal.sort(customsortbasedontimestampandinput)
for line in linestotal.readlines():
logwrite.write(line)
diagraphie Discursive
with open("file.log","wb") as in logfile:
subprocess.Popen(cmd, shell=True, universal_newlines = True, stdin=logfile, stdout=logfile)
Le contraire est indiqué ci-dessous
Journalisation Cursive
with open("stdout.txt","wb") as out:
with open("stderr.txt","wb") as err:
with open("stdin.txt","wb") as in:
subprocess.Popen(cmd, shell=True, universal_newlines = True, stdin=in,stdout=out,stderr=err)
Que voulez-vous dire par discursivement? Voulez-vous dire qu'ils se connectent tous les deux au même fichier? – Appleman1234
oui, mais pas seulement ajouter le STDOUT après le STDIN. J'en ai besoin de manière discursive pour pouvoir dire quelle entrée a apporté une sortie. – iTayb