命令行参数格式化需要python getopt模块:
1.python 命令行参数格式化
写道
try:
options,args = getopt.getopt(sys.argv[1:],"hp:i:",["help","ip=","port="])
except getopt.GetoptError:
sys.exit()
for name,value in options:
if name in ("-h","--help"):
usage()
if name in ("-i","--ip"):
print 'ip is----',value
if name in ("-p","--port")
print 'port is----',value
options,args = getopt.getopt(sys.argv[1:],"hp:i:",["help","ip=","port="])
except getopt.GetoptError:
sys.exit()
for name,value in options:
if name in ("-h","--help"):
usage()
if name in ("-i","--ip"):
print 'ip is----',value
if name in ("-p","--port")
print 'port is----',value
使用方式:python test.py -i 127.0.0.1 -p 80 55 66
2.cmdloop 命令行参数格式化
写道
def do_get_opts(self, user_input):
opts, args = getopt.getopt(user_input.split()[0:], "h:p:t:s:c:async",
["host=", "port=", "thrift=", "service=", "config=", "async"])
for opt, arg in opts:
print "%s---%s" % (opt, arg)
if opt in ('--host', '-h'):
self.config.host = arg
elif opt in ('--port', '-p'):
self.config.port = arg
elif opt in ('--async'):
self.config.async = True
elif opt in ("--t", "--thrift"):
self.config.thrift_file = arg
elif opt in ("--s", "--service"):
self.config.service = arg
elif opt in ("--c", "--config"):
self.config.config = arg
opts, args = getopt.getopt(user_input.split()[0:], "h:p:t:s:c:async",
["host=", "port=", "thrift=", "service=", "config=", "async"])
for opt, arg in opts:
print "%s---%s" % (opt, arg)
if opt in ('--host', '-h'):
self.config.host = arg
elif opt in ('--port', '-p'):
self.config.port = arg
elif opt in ('--async'):
self.config.async = True
elif opt in ("--t", "--thrift"):
self.config.thrift_file = arg
elif opt in ("--s", "--service"):
self.config.service = arg
elif opt in ("--c", "--config"):
self.config.config = arg
使用方式:
写道
libin@libin-ThinkPad-T420:~/workspace/yoyosvn/yoyosyssvn/src/java/datacell+/trunk/bin$ ./op_tools.py
load config file: config.py
client>send2 --h=localhost --p=7912 --t=hello.thrift --s=hello.Hello.helloString("libin") --c=params
load config file: config.py
client>send2 --h=localhost --p=7912 --t=hello.thrift --s=hello.Hello.helloString("libin") --c=params
注意两个的差别: 一个使用的是:sys.argv[1:]
一个使用的是: user_input.split()
相关推荐
- 虽然`getopt`最初是C语言的函数,但许多其他编程语言也提供了类似的库,如Python的`argparse`,Perl的`Getopt::Long`,Ruby的`OptionParser`等。 这个资源的分享对于需要处理命令行参数的开发者来说非常有价值,...
水晶-getopt是基于Crystal编程语言的一个库,它为Crystal开发者提供了一种处理命令行参数的便捷方式,灵感来源于Python中的getopt模块。在Python中,getopt模块是用于解析命令行选项、参数和短语的标准工具,而在...
为了创建漂亮的命令行界面,Bash提供了颜色控制和格式化输出的手段。通过转义序列,如`\033[31m`(红色)和`\033[0m`(重置),可以改变文本颜色。`tput`命令可以帮助调整终端的文本属性,如列宽,这对于输出整齐的...
更多标准模块包括了用于文件处理的fileinput、shutil、tempfile等,用于数据处理的StringIO、cStringIO、UserDict等,以及用于异常处理的traceback模块,提供了对错误信息进行格式化输出的功能。errno模块提供对操作...
提供了异常跟踪信息的访问和格式化方法,对于调试异常非常有帮助。 #### errno模块 包含了错误编号和错误信息的映射,用于处理和解释操作系统错误。 #### getopt模块 用于解析命令行选项和参数,适用于创建命令行...
18.1.4 格式化数值 350 18.1.5 作为数值的字符 352 18.2 数学 353 18.2.1 算术运算 354 18.2.2 内置数学函数 355 18.3 复数 357 18.4 数组 359 18.5 本章小结 363 18.6 习题 363 第19章 Django简介 365 19.1 框架的...
在数据表示方面,traceback模块提供了获取、打印和格式化栈跟踪信息的功能。errno模块定义了对应于标准C库中的错误码。getopt模块用于解析命令行选项,getpass模块则用于获取用户输入,但不在终端上显示。glob模块...
- 提供打印、提取和格式化跟踪的功能。 - 方法如`traceback.print_exc()`, `traceback.extract_tb()`等。 - **errno模块** - 提供系统错误号和消息。 - 属性如`errno.EPERM`, `errno.ENOENT`等。 - **getopt模块...
time模块提供了日期和时间相关的函数,如获取当前时间戳、格式化日期等。 ##### 1.16 types 模块 types模块定义了一系列类型,用于检查变量类型。这对于动态类型的Python来说非常重要。 ##### 1.17 gc 模块 gc...
- **5.7 formatter 模块**:提供了用于格式化输出的基本接口。 - **5.8 ConfigParser 模块**:用于解析配置文件。 - **5.9 netrc 模块**:用于处理`.netrc`文件。 - **5.10 shlex 模块**:提供了词法分析器,用于...
- **代码格式**:本书中涉及的所有代码样例均采用了统一的格式化规范,便于读者理解和学习。 #### 0.3 关于例子 - **实用性**:本书中的例子经过精心设计,确保它们不仅易于理解,而且具有很高的实用性,可以方便地...
"getport-0.1.1.tar.gz"是一个针对Python的库资源,它被压缩成tar.gz格式,这是一种常见的Linux/Unix系统中用于打包和压缩文件的格式。下面我们将深入探讨Python库、开发过程以及getport库的具体应用。 首先,...
formatter模块提供了一个简单的文本格式化框架,可以用于构建自定义的文本格式化器。 #### 5.7 ConfigParser模块 ConfigParser模块提供了一个配置文件解析器,用于解析和写入.ini格式的配置文件。 #### 5.8 netrc...
- **getopt**: 解析命令行选项和参数。 - **getpass**: 从终端安全地获取密码输入。 - **random**: 提供随机数生成功能。 - **md5/sha**: 用于生成消息摘要。 ##### 3.1 使用场景与案例分析 - **shutil**: 移动...
- **`getopt`模块**:提供了命令行参数解析的功能。 - **`getpass`模块**:提供了安全地输入密码的方法。 - **`glob`模块**:提供了查找符合特定规则的文件路径列表的功能。 - **`fnmatch`模块**:提供了Unix shell...
# 输入参数格式为>python test.py output=json file=c:\..\input.txt query=Permission[0] inputParm = getRsDataToDict() if inputParm["query"] != None: csDict = createDict.getQueryRs(inputParm[...
序列化和反序列化Python值,仅限于同一Python环境中。 #### pickle 和 cPickle 用于对象的序列化和反序列化,`cPickle`更快但仅在CPython中可用。 #### copy_reg 用于注册自定义的复制函数,现已更名`copyreg`。...