Ho iniziato un serio tentativo di imparare alcuni Python come il mio primo linguaggio di programmazione con alcune conoscenze di base sugli algoritmi. Poiché tutti raccomandano che il modo migliore per iniziare sia trovare qualcosa di utile da fare, ho deciso di fare un piccolo script per gestire i miei repository.python - principiante - integrazione di optparse in un programma
cose di base: - Attiva/Disattiva YUM repository - Cambia priorità sul repository YUM attuali - Aggiungi/Rimuovi repository
Mentre l'analisi del file e sostituire/aggiungere/rimuovere i dati è molto semplice, io sono lottando (principalmente con forse mancanza di conoscenza) con una sola cosa con 'optparse' ... Voglio aggiungere a un'opzione (-l) che elenca gli attuali repository disponibili ... Ho fatto una semplice funzione che fa questo lavoro (non qualcosa di molto elaborato), ma non riesco a 'collegarlo' con '-l' su optparse. Chiunque potrebbe fornire esempi/suggerimenti su come farlo?
Lo script corrente è qualcosa di simile:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import optparse
import ConfigParse
repo_file = "/home/nmarques/my_repos.repo"
parser = optparse.OptionParser()
parser.add_option("-e", dest="repository", help="Enable YUM repository")
parser.add_option("-d", dest="repository", help="Disable YUM repository")
parser.add_option("-l", dest="list", help="Display list of repositories", action="store_true")
(options, args) = parser.parse_args()
def list_my_repos()
# check if repository file exists, read repositories, print and exit
if os.path.exists(repo_file):
config = ConfigParser.RawConfigParser()
config.read(repo_file)
print "Found the following YUM repositories on " + os.path.basename(repo_file) + ":"
for i in config.sections():
print i
sys.exit(0)
# otherwise exit with code 4
else:
print "Main repository configuration (" + repo_file +") file not found!"
sys.exit(4)
list_my_repos()
Eventuali suggerimenti per migliorare (documenti, esempi) sono i benvenuti. L'obiettivo principale ancora una volta, è che quando eseguo script.py -l
può essere eseguito list_my_repos()
.
Dovresti usare 'argparse' quando possibile -' Il modulo optparse è deprecato e non verrà ulteriormente sviluppato; lo sviluppo continuerà con il modulo argparse. – Daenyth