Python 参数解释器

发布于 2024-10-17 09:59:59 字数 217 浏览 1 评论 0原文

有没有正确的方法来读取 python 应用程序的参数?

示例:

python game.py -server 127.0.0.1 -nick TheKiller1337

是否有正确的方法来解释这些论点? 现在我有一个带有一些 if 的 while 循环。但它变得相当大。我应该做一个通用类来读取参数,还是已经在 python 中实现了?

Is there a correct way to read the arguments to a python application?

Example:

python game.py -server 127.0.0.1 -nick TheKiller1337

Is there a correct way of interpreting these argument?
As it is now I have a while-loop with some ifs. But it is getting rather large. Should I do a general class for argument reading, or is this already implemented in python?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

携君以终年 2024-10-24 09:59:59

使用argparseoptparsegetopt

这三个都在标准库中。

我推荐argparse。它是三者中最新的,而且在我看来也是最容易使用的。它是在 2.7 版本中引入的。

如果使用较旧的 Python 版本,我建议使用 optparse (或 获取版本 2.5 和 2.6 的 argparse 来自 pypi)

Use argparse, optparse or getopt.

All three are in the standard library.

I recommend argparse. It is the newest of the three, and is IMO the easiest to use. It was introduced in version 2.7.

If using an older Python version, I would recommend optparse (or get argparse for version 2.5 and 2.6 from pypi)

番薯 2024-10-24 09:59:59

如果您使用的是 v2.7 或更高版本,则可以使用 argparse< /代码>。该文档有示例。

对于早期的 Python,optparse 通常是最佳选择。

如果您想编写,另一种选择是 getopt 'C'。

对于其中的每一个,您都必须将您的参数列表更改为更常规的。任一:

  • python game.py --server 127.0.0.1 --nick TheKiller1337
  • python game.py -s 127.0.0.1 -n TheKiller1337

If you're using v2.7 or newer, you can use argparse. The documentation has examples.

For earlier Pythons, optparse is usually the way to go.

The alternative is getopt, if you're rather be writing 'C'.

For each of these you would have to change your argument list to more conventional. Either of:

  • python game.py --server 127.0.0.1 --nick TheKiller1337
  • python game.py -s 127.0.0.1 -n TheKiller1337
笑看君怀她人 2024-10-24 09:59:59

您可以使用 getopt,只需对初始计划稍作更改即可。它会像:

python game.py -s127.0.0.1 -nTheKiller1337 

You can use getopt with only slight change to your initial plans. It would be like:

python game.py -s127.0.0.1 -nTheKiller1337 
迷离° 2024-10-24 09:59:59

我更喜欢 optparse,因为它在 2.6 中受支持,并且它有一个漂亮的界面,自动生成帮助文本,并且支持其他参数,而不仅仅是参数。

就像这样:

from optparse import OptionParser
parser = OptionParser()
parser.add_option("-e", "--event", dest="type", help="type of EVENT")
(options, args) = parser.parse_args()

if options.type == 'fubar':
  blah.blubb()

你明白了。

I prefer optparse, because it is supported in 2.6 and because it has a nice interface, automatically generates help texts, and supports additional parameters, not just arguments.

Like this:

from optparse import OptionParser
parser = OptionParser()
parser.add_option("-e", "--event", dest="type", help="type of EVENT")
(options, args) = parser.parse_args()

if options.type == 'fubar':
  blah.blubb()

You get the idea.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文