Python模块之optparse
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python模块之optparse,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2343字,纯文字阅读大概需要4分钟。
内容图文
参考:
- http://www.cnblogs.com/captain_jack/archive/2011/01/11/1933366.html
- https://docs.python.org/2/library/optparse.html
eg:
# This is the blocking Get Poetry Now! client. import datetime, optparse, socket def parse_args(): usage = """usage: %prog [options] [hostname]:port ... This is the Get Poetry Now! client, blocking edition. Run it like this: python get-poetry.py port1 port2 port3 ... If you are in the base directory of the twisted-intro package, you could run it like this: python blocking-client/get-poetry.py 10001 10002 10003 to grab poetry from servers on ports 10001, 10002, and 10003. Of course, there need to be servers listening on those ports for that to work. """ parser = optparse.OptionParser(usage) _, addresses = parser.parse_args() ifnot addresses: print parser.format_help() parser.exit() def parse_address(addr): if‘:‘notin addr: host = ‘127.0.0.1‘ port = addr else: host, port = addr.split(‘:‘, 1) ifnot port.isdigit(): parser.error(‘Ports must be integers.‘) return host, int(port) return map(parse_address, addresses) def get_poetry(address): """Download a piece of poetry from the given address.""" sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(address) poem = ‘‘while True: # This is the ‘blocking‘ call in this synchronous program.# The recv() method will block for an indeterminate period# of time waiting for bytes to be received from the server. data = sock.recv(1024) ifnot data: sock.close() break poem += data return poem def format_address(address): host, port = address return‘%s:%s‘ % (host or‘127.0.0.1‘, port) def main(): addresses = parse_args() elapsed = datetime.timedelta() for i, address in enumerate(addresses): #http://blog.csdn.net/suofiya2008/article/details/5603861 addr_fmt = format_address(address) print‘Task %d: get poetry from: %s‘ % (i + 1, addr_fmt) start = datetime.datetime.now() # Each execution of ‘get_poetry‘ corresponds to the# execution of one synchronous task in Figure 1 here:# http://krondo.com/?p=1209#figure1 poem = get_poetry(address) time = datetime.datetime.now() - start msg = ‘Task %d: got %d bytes of poetry from %s in %s‘print msg % (i + 1, len(poem), addr_fmt, time) elapsed += time print‘Got %d poems in %s‘ % (len(addresses), elapsed) if__name__ == ‘__main__‘: main()
原文:http://www.cnblogs.com/flowjacky/p/4418432.html
内容总结
以上是互联网集市为您收集整理的Python模块之optparse全部内容,希望文章能够帮你解决Python模块之optparse所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。