python 使用getopt 获取配置参数
在工程中特别是稍微大一点的项目基本上都会用到配置,就会涉及到配置文件的读取,配置参数的读取。
常用的解析配置文件的是configParser,解析命令行参数的则为getopt。
getopt的参数可以分为两种:长模式和短模式。
长模式在命令行中为:--arg1 arg_value。
短模式则是长模式之外的常用空格分隔的参数。
在程序中使用getopt.getopt()对象获取参数,其格式为:
opts, args = getopt.getopt(arg_list, shor_mode, long_mode).
在python中arg_list为sys.argv[1:],因为我们不会将文件名也做为参数解析。
返回的结果中,opts为参数元组的列表,如:[(--config_file, config.ini)], args为参数列表。
栗子:
#!/usr/bin/python
# -*- coding:utf-8 -*- import getopt
import sys
if __name__ == '__main__':
long_opts = ["config_file=", "key1=", "key2="]
short_opts = ""
opts, args = getopt.getopt(sys.argv[1:], short_opts, long_opts)
config_file = None
for opt in opts:
print opt[0], opt[1]
print args #命令行执行
MacBook-Pro:python$ python test_getopt.py --config_file config.ini --key1 value1 --key2 value2 args1 args2
--config_file config.ini
--key1 value1
--key2 value2
['args1', 'args2']
python 使用getopt 获取配置参数的更多相关文章
- python执行shell获取硬件参数写入mysql
最近要获取服务器各种参数,包括cpu.内存.磁盘.型号等信息.试用了Hyperic HQ.Nagios和Snmp,它们功能都挺强大的,但是于需求不是太符,亦或者太heavy. 于是乎想到用python ...
- python访问Apollo获取配置
操作系统 : CentOS7.3.1611_x64 Python 版本 : 3.6.8 Apollo源码地址: https://github.com/ctripcorp/apollo 访问Apollo ...
- 开发笔记-19/10/28 -SpringBoot @Value 获取配置参数
1. 在application.properties 定义参数 role.taskEvent :参数名称 4:值 ## ---------------------任务角色--------------- ...
- python Django 无法获取post 参数问题
对于 request.POST.get(name) 方式取值,需要 from 表单提交数据,如果 是ajax 提交数据,则需要做如下设置: 1.设置请求头,以from表单方式传值 'Content-T ...
- Crystal框架配置参数加载机制详解?
前言 定义 配置参数定义的形式 配置参数文件定义在哪里? 配置参数加载的优先级 如何使用配置参数? 最佳实践 Jar项目中如何定义配置参数? War项目中如何定义或重载Jar包中的配置参数? 开发人员 ...
- python测试开发django-4.获取url参数和name的作用
前言 如打开博客园按时间分类标签页[https://www.cnblogs.com/yoyoketang/archive/2018/10.html],里面是时间参数是动态的,如果我想获取里面的时间参数 ...
- Windows API获取系统配置文件的配置参数
在Windows平台下获取系统配置文件(如:System.ini)的配置参数. 系统配置文件System.ini的内容如下: [SYSTEM] ServiceIP = 10.128.11.99:600 ...
- python获取输入参数
python获取输入参数 学习了:https://www.cnblogs.com/angelatian/p/5832448.html import sys模块: len(sys.argv)参数个数 s ...
- python命令行获取参数
python命令行获取参数 import sys # python获取参数 input_file = sys.argv[1] output_file = sys.argv[2] print(input ...
随机推荐
- log4cpp简单示例
log4cpp简单示例 下载地址 Sample.cpp #include <iostream> #include <log4cpp/FileAppender.hh> #incl ...
- centos7 启动docker失败--selinux-enabled=false
centos7,执行完安装命令: yum install docker 执行启动命令: systemctl start docker ,报下面错误: Error starting daemon: ...
- 使用nginx搭建文件下载服务器
搭建一个文件服务器的方式有很多,本文介绍笔者曾经用过的两种: 使用nginx 使用java服务,通过controller提供 一.使用nginx搭建 在nginx.conf中直接配置server即可, ...
- Cassandra go语言client使用
关于什么是cassandra,可以参考: http://blog.csdn.net/zyz511919766/article/details/38683219 http://cassandra.apa ...
- Python 装饰器的诞生过程
Python中的装饰器是通过利用了函数特性的闭包实现的,所以在讲装饰器之前,我们需要先了解函数特性,以及闭包是怎么利用了函数特性的 ① 函数特性 Python中的函数特性总的来说有以下四点: 1. ...
- JavaWeb—Base64编码(转载)
基本概念 Base64这个术语最初是在“MIME内容传输编码规范”中提出的.Base64不是一种加密算法,虽然编码后的字符串看起来有点加密的赶脚.它实际上是一种“二进制到文本”的编码方法,它能够将给定 ...
- 汇编文件后缀.s与.S
转载:http://www.cnblogs.com/IamEasy_Man/archive/2011/08/10/2134212.html 一.大小写后缀的区别: .s: 汇编语言源程序;汇编 .S ...
- 压力测试工具MySQL mysqlslap
MySQL mysqlslap压测 2016-09-12 17:49 by pursuer.chen, 771 阅读, 0 评论, 收藏, 编辑 介绍 mysqlslap是mysql自带的一个性能压测 ...
- Delphi APP 開發入門(九)拍照與分享
Delphi APP 開發入門(九)拍照與分享 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:30 ...
- Java基础知识陷阱(三)
本文发表于本人博客. 之前都讲了有关字符串的陷阱,那今天来说下关于静态这个东西,这分为静态变量.静态方法,先看下面的代码请问结果输出是什么?: class Person01{ private stat ...