Pythoncommandlinearguments.Python是一种基于面向对象编程的解释语言。它是非常强大的,高度交互,并且可以轻松地与用户程序中的用户程序或其他语言集成。即使你没有先前的编程经验,你可以很快学会Python,很容易使用Python创建自己的web程序,或甚至开发自己的游戏

在本教程中,我们将探索命令行参数,并了解如何在Python程序中使用它们。

基本命令行参数

首先,让我们理解什么是命令行参数。对于没有编程经验的初学者,命令行参数是我们在执行脚本时在命令行提示符和脚本名一起输入的参数。与大多数其他语言一样,Python也提供了这个特性。例如,假设我们正在一个基于unix的系统上工作。下面示例中的“>”表示终端上的命令提示符。为了解释命令行参数,我们将使用一个示例Python脚本" try_this.py "。例如,try_this.py可以具有以下代码,本教程后面将对此进行解释

#/usr/bin/python import sys print (str(sys.argv[1])) " is delicious. "if (len(sys.argv)>3) {print " Usage details: try_this.py   " sys.argv  "退出}

我们可以根据下面的任何其他输入执行try_this.py脚本

> try_this.py

或者我们可以决定编写一些脚本名称try_this.py,像这样-

> try_this.py苹果橘子

在上面的示例中,我们向脚本传递了额外的术语——apple和orange。" try_this.py ", " apple "和" orange "是命令行参数。脚本使用这些参数作为其执行的输入。现在让我们假设有两个用户执行try_this.py脚本,他们将得到不同的结果。

用户1 > tryy_this .py苹果橙

User1结果

苹果是美味。你想尝尝吗?

还是你想要橙汁?

User2的结果

桃子很好吃。你想尝尝吗?

还是你想要葡萄干?

所以让我们看一下脚本中启用了哪些代码行。在Python,sys.argv.是我们传递的所有命令行参数的列表。的argv.是一个数组,其中包含已键入的所有条目以及脚本名称。要启用此功能,我们必须首先导入方法sys。我们用语法来做导入系统。如果我们的脚本中未包含此行,则在我们尝试访问Sys.argv阵列时执行时会导致错误。

求它的长度sys.argv.我们可以使用内置的Python方法len(sys.argv)来查找数组的长度。sys。argv.array stores all the entries provided with the script in the command line. That is, it includes the script name as well i.e. the array in User1’s terminal will have the following contents: try_this.py, apple and orange

脚本名称存储为第一个数组元素sys.argv[0]。您需要注意的其他关键细节是我们访问数组元素的方式。我们用str (sys.argv [1]),单词STR使这个数组元素成为字符串。数组元素的sys.argv.可以通过改变索引值来访问。

你也可以使用sys.exit如果未传递给脚本,则退出代码中退出。例如,如果User3运行Try_this.pl,则使用三个输入而不是两个输入,则脚本将退出并打印使用详细信息。

>试试苹果橙色桃子

结果

使用细节:try_this.py .py .py

命令行选项

可以提供的另一个命令行输入是一个选项。选项由 - 或 - 在命令行中表示。在此,可以将一个选项与参数一起传递。这使用户能够以他们选择的任何顺序提供参数,因为选项将在参数之前。

语法

getopt。getopt (arg游戏选项,[长选项])

args.像以前一样的论点

选项希望脚本识别的选项。强制性文件应加上:

长选项这些选项比选项更具描述性。必填项后面应该加上=

例子:欢迎

导入getopt,sys def main(argv):opts,args = getopt.getopt(argv,“hn:”,[“帮助”,“name =”]除getopt.getopterror之外:print(“使用:欢迎:欢迎:欢迎.py-n or welcome.py --name ”) sys.exit(2) for option arg in opts: if (opt == ‘-h’ || opt == ‘--help’) { print (“Usage : welcome.py –n  or welcome.py --name ”) } if (opt == ‘-n’ || opt == ‘-name’) { print (“Welcome to the world of Python, ”,arg) } if __name__ == “__main__” : main(sys.argv[1:])

结果

>欢迎.py -h-n“威尔逊”

用法:欢迎.py-n 或welcome.py -name

欢迎来到Python的世界,Wilson

>欢迎

用法:欢迎.py-n 或welcome.py -name

>welcome.py name " Andrew "

欢迎来到Python的世界,Andrew

在此示例中,我们需要使用导入导入getopt方法getopt。脚本中提供的选项是-H-N。其中,n选项及其参数是必须的,因此在定义中,它后面跟着:。而不是-H和- - - - - -n如果用户决定使用更多描述性选项,他们可以使用长选项.再次,这些长选项应该先于 - 在命令行中,必须在命令行中,=在定义中应该是=的。

如果用户提供尚未在脚本中定义的选项,则我们使用getopt。GetoptError方法来发出错误并退出脚本。

有更高级的方法,可以管理命令行参数。这些是OptParser.模块和argparse模块。这样就可以灵活地将选项和其他更复杂的功能组合在一起。

对于简单的程序,您不太可能需要比这更深的命令行参数。但是,如果您确实想进一步探索,您可以试试高级Python编程课程, 也许练习用Python开发有趣的游戏

特色课程

命令行101.

最后更新于11月2020年11月

  • 1小时总
  • 19讲座
  • 初学者水平
5 (1)

即使您之前从未使用该命令行,则在同一时间学习MacOS和Linux的命令行。|由Kalob Taulien

探索课程

命令行学生也要学习

赋予你的团队。引领行业。

通过Udemy for Business订阅您组织的在线课程和数字学习工具图书馆。

请求演示