Python3基础-FTP参数解析和命令分发
1、Python中optionParser模块的使用方法
optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。
import optparse
parser = optparse.OptionParser()
parser.add_option("-s", "--server", dest="server", help="ftp server ip_address")
parser.add_option("-P", "--port", type="int", dest="port", help="ftp server port")
parser.add_option("-u", "--username", dest="username", help="username info")
parser.add_option("-p", "--password", dest="password", help="password info")
首先import optparse类,然后创建optparse对象parser,再使用add_option()来定义命令行参数,最后使用parse_args()来解析命令行。
简单例子:
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename",help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",action="store_false", dest="verbose", default=True,help="don't print status messages to stdout")
parser.add_option("-s",'--s',dest='server')
parser.add_option("-P","--port",dest="port")
options, args= parser.parse_args()
print(options)
print(args)
在控制台执行该文件

”字典”中存放的是我们需要的信息,如果用户没有输入默认设置为None;而“列表”’中存放的是“错误”信息。再返回头看看源代码,其实这个”字典”就是上面的self.options变量,“列表”就是self.args。optparse模块解析的结果就是“我们想得到的信息”以及“用户误操作的输入信息”——的确很强大!
如果用户不知道他需要输入什么命令,我们可以在后面输入 -h,寻求帮助:

2、重点说明
2.1 “字典”与“列表”的说明:
其实我们解析得到的参数self.options与 self.args并不是真正意义上的字典与列表,只是“字典与列表的形象”而已!实际上,这两个参数是“对象”,我们可以进行如下验证:在程序最后打印:

2.2 类的写法
class Optpase(): def __init__(self): #初始化 parser = OptionParser() parser.add_option("-f", "--file", dest="filename",help="write report to FILE", metavar="FILE") parser.add_option("-q", "--quiet",action="store_false", dest="verbose", default=True,help="don't print status messages to stdout") parser.add_option("-s",'--s',dest='server') parser.add_option("-P","--port",dest="port") #解析参数 self.options, self.args= parser.parse_args() def verification(self): if not self.options.server or not self.options.port: exit('ERROR!must support server and port parameters!') print(self.options) print(self.args) if __name__ == '__main__': run=Optpase() run.verification()
执行结果如下:

浙公网安备 33010602011771号