Usando Python, qual è un modo efficace per racchiudere un'utilità della riga di comando?

2

Voglio scrivere un'applicazione Python che "avvolge" un'utilità della riga di comando, passando tutti i parametri intatti, ad eccezione dei parametri che scelgo di modificare.

Immagino che ci sia un modo semplice per farlo in Python, ma ci sono molti modi per renderlo davvero difficile.

Esiste un modo "giusto" per farlo? Qualche suggerimento valutato. Non voglio che nessuno scriva il codice per me, basta commentare un approccio efficace. Grazie!

Utilizzo di Python 3

    
posta Duke Dougal 11.08.2016 - 01:38
fonte

1 risposta

3

Leggi i parametri da sys.argv e passali a subprocess.call () (o forse a una delle altre funzioni nel sottoprocesso). subprocess.call () prende un elenco per specificare il comando da eseguire ed i suoi parametri, che è un buon adattamento per sys.argv.

Potrebbe essere così semplice, nel caso in cui non sia necessario controllare, elaborare o filtrare i parametri:

#!/usr/bin/env python3
import subprocess
import sys
subprocess.call(sys.argv[1:])

Chiamato come ad es. wrap.py ls -l , eseguirà ls -l .

    
risposta data 11.08.2016 - 01:54
fonte

Leggi altre domande sui tag