questi sono i miei codici di pitone:pitone sottoprocesso check_output restituito stato diverso da zero l'uscita 1
import subprocess
subprocess.check_output("ls",shell=True,stderr=subprocess.STDOUT)
import subprocess
subprocess.check_output("yum",shell=True,stderr=subprocess.STDOUT)
la prima opera bene, ma il secondo ritorno:
Traceback (most recent call last):
File "/usr/lib/x86_64-linux-gnu/gedit/plugins/pythonconsole/console.py", line 378, in __run
r = eval(command, self.namespace, self.namespace)
File "<string>", line 1, in <module>
File "/usr/lib/python3.4/subprocess.py", line 616, in check_output
raise CalledProcessError(retcode, process.args, output=output)
subprocess.CalledProcessError: Command 'yum' returned non-zero exit status 1
perché questo accade? è perché ls è il comando di shell originale ma yum è il nuovo pacchetto? come risolvere questo problema?
quindi se voglio solo implementare il comando (g3-from-scratch.csh tpall.fna da zero) in python. Questo comando creerà alcuni file nella directory corrente ma non darà risposta in console, io collaudo questo comando in shell, funziona. come potrei implementarlo in python? originariamente, io uso os.system(), ma restituisce solo (sh: 1: g3-from-scratch.csh: non trovato) –
Hai letto questo: https: // docs. python.org/3.4/library/subprocess.html – Plouff
Ho provato il tuo codice per yum, funziona bene, ma non per g3-from-scratch.csh. Non sono ciò che è diverso con loro, posso usarli direttamente in console. –