He comenzado un serio intento de aprender algo de Python como mi primer lenguaje de programación con algunos conocimientos básicos sobre algoritmos. Como todos recomiendan que la mejor manera de comenzar es encontrar algo útil que hacer, he decidido hacer un pequeño script para administrar mis repositorios.python - beginner - integrando optparse en un programa
cosas básicas: - Habilitar repositorios/Desactivar YUM - Cambiar prioridad en los repositorios YUM actuales - Añadir/Quitar repositorios
Si bien el análisis del archivo y sustituir/añadir/eliminar los datos es muy simple, yo soy luchando (principalmente con tal vez falta de conocimiento) con una sola cosa con 'optparse' ... Quiero agregar a una opción (-l) que enumera los repositorios disponibles actualmente ... He hecho una función simple que hace esto trabajo (no es algo muy elaborado), pero no puedo 'conectarlo' con '-l' en optparse. ¿Alguien podría proporcionar ejemplos/sugerencias sobre cómo hacer esto?
El script actual es algo como esto:
#!/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()
alguna sugerencia para mejorar (documentos, hojas de ejemplos) son bienvenidos. El objetivo principal una vez más, es que cuando ejecuto script.py -l
puede ejecutar list_my_repos()
.
Debe usar 'argparse' cuando sea posible -' El módulo optparse está en desuso y no se desarrollará más; el desarrollo continuará con el módulo argparse. – Daenyth