我已经开始认真尝试学习一些 Python 作为我的第一门编程语言,并具有一些算法的基本知识。由于每个人都建议最好的开始方式是找到一些有用的事情来做,所以我决定做一个小脚本来管理我的存储库。
基本事项: - 启用/禁用 YUM 存储库 - 更改当前 YUM 存储库的优先级 - 添加/删除存储库
虽然解析文件和替换/添加/删除数据非常简单,但我正在努力(主要是因为可能缺乏知识)与“optparse”的单一事物......我想添加一个选项(-l)列出当前可用的存储库...我做了一个简单的函数来完成这项工作(不是很复杂),但我无法将它与 optparse 上的“-l”“连接”。任何人都可以提供有关如何做到这一点的示例/建议?
当前的脚本是这样的:
#!/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()
任何改进建议(文档、示例)都非常受欢迎。再次的主要目标是,当我执行时script.py -l
它可以运行list_my_repos()
。