回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我必须解析参数,所以我使用了<code>argparse</code>模块。这在python3.3和python2.7中很好地工作。但有时我不得不在Jython中使用它,Jython的最后一个稳定版本是2.5.3。此版本没有<code>argparse</code>模块,因此我使用了旧的<code>optparse</code>模块:</p>
<pre><code>args = None
try:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-u", "--url", action="store", dest="url", default=url, help='test script URL like "http://127.0.0.1/isof/hdb_ver_xml.hdb" or "hdb://127.0.0.1/isof/hdb_ver_xml.hdb"')
parser.add_argument("-t", "--threads", action="store", type=int, dest="threads_cnt", default=threads_cnt, help='threads count')
parser.add_argument("-T", "--timeout", action="store", type=int, dest="timeout_minutes", default=timeout_minutes, help='timeout in minutes')
args = parser.parse_args()
except:
import optparse
parser = optparse.OptionParser()
parser.add_option("-u", "--url", action="store", dest="url", default=url, help='test script URL like "http://127.0.0.1/isof/hdb_ver_xml.hdb" or "hdb://127.0.0.1/isof/hdb_ver_xml.hdb"')
parser.add_option("-t", "--threads", action="store", type=int, dest="threads_cnt", default=threads_cnt, help='threads count')
parser.add_option("-T", "--timeout", action="store", type=int, dest="timeout_minutes", default=timeout_minutes, help='timeout in minutes')
args, _ = parser.parse_args()
return args
</code></pre>
<p>对我来说,这段代码看起来很难看,因为任何更改都必须在两个地方进行。当然,我可以用类似的方法:</p>
^{pr2}$
<p>这会有一点帮助,但也许有更好的方法来编写这样的代码。有什么想法吗?在</p>