zoukankan      html  css  js  c++  java
  • Python中 sys.argv[]的用法简明解释

    Python中 sys.argv[]的用法简明解释

    本文转载于:https://www.cnblogs.com/aland-1415/p/6613449.html

          因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多,但发现这个问题的比较详细的解释只有一个版本,大部分都是转裁和复制的。给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道“sys.argv[0]表示代码本身文件路径”这点,其实还是不明其意。后来经过大量努力,多方求教才真正明悟了,谨以记录和分享,希望能从另一个角度给同在求索过程中的同学一点启发。

      sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。

    下面我们通过一个极简单的test.py程序的运行结果来说明它的用法。

    1 #test.py
    2 
    3 import sys
    4 a=sys.argv[0]
    5 print(a)

    将test.py保存在c盘的根目录下。

    在程序中找到 ‘运行’->点击->输入"cmd"->回车键   进入控制台命令窗口(如下图),先输入cd c:   (作用是将命令路径改到c盘根目录),然后输入test.py运行我们刚刚写的程序:

     

    得到的结果是C: est.py,这就是0指代码(即此.py程序)本身的意思。

    然后我们将代码中0改为1 :

    a=sys.argv[1]

    保存后,再从控制台窗口运行,这次我们加上一个参数,输入:test.py what

     

     得到的结果就是我们输入的参数what,看到这里你是不是开始明白了呢。

    那我们再把代码修改一下:

    a=sys.argv[2:]

    保存后,再从控制台窗台运行程序,这次多加几个参数,以空格隔开:

    test.py a b c d e f

     

    得到的结果为[‘b’, ’c’, ’d’, ’e’, ’f’]

    应该大彻大悟了吧。Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数。

  • 相关阅读:
    HDU 2196 Computer
    HDU 1520 Anniversary party
    POJ 1217 FOUR QUARTERS
    POJ 2184 Cow Exhibition
    HDU 2639 Bone Collector II
    POJ 3181 Dollar Dayz
    POJ 1787 Charlie's Change
    POJ 2063 Investment
    HDU 1114 Piggy-Bank
    Lca hdu 2874 Connections between cities
  • 原文地址:https://www.cnblogs.com/curo0119/p/8429088.html
Copyright © 2011-2022 走看看