Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [PYTHON] Risultato di subprocess

  1. #1

    [PYTHON] Risultato di subprocess

    ciao!

    devo eseguire un comando shell da python3.
    sto provando subprocess, sia con run che con call:
    codice:
    import subprocess
    
    print(subprocess.run(['apropos', '.']))
    print(subprocess.call('apropos .', shell=True))

    funzionano entrambi, ma:
    • la funzione run mi aggiunge questa riga alla fine dell'output: CompletedProcess(args=['apropos', '.'], returncode=0)
    • mentre la funzione call mi aggiunge una riga con 0

    dato che poi dovrei processare questo output, vorrei eliminare la riga finale che viene aggiunta dalle funzioni.
    è possibile??

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,136
    Hai provato con subprocess.check_output()?

  3. #3
    ciao!

    alla fine ho fatto così per iterare su tutte le righe:

    codice:
    import subprocess
    import io
    
    proc = subprocess.Popen(['apropos', '-s', '1', '.'], stdout=subprocess.PIPE)
    for line in io.TextIOWrapper(proc.stdout, encoding="utf-8"):
        print(line)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.