【问题标题】:how to input variable into a python script while opening from cmd prompt?从cmd提示符打开时如何将变量输入python脚本?
【发布时间】:2010-08-26 16:21:23
【问题描述】:

我想知道从 cmd 提示符打开时如何在 python 脚本中输入变量?我知道使用 c 会做类似的事情:

int main( int argc, char **argv ) {
    int input1 = argv[ 0 ]
    int input2 = argv[ 1 ]

.....

}

如何在 python 中实现同样的结果?

【问题讨论】:

  • 在尝试读取 input2 之前,您可能应该检查参数的数量是否至少为 2。

标签: python input


【解决方案1】:
import sys

def main():
   input1 = sys.argv[1]
   input2 = sys.argv[2]
...

if __name__ == "__main__":
   main()

【讨论】:

    【解决方案2】:

    参数在sys.argv,第一个sys.argv[0]是脚本名。

    对于更复杂的参数解析,您应该使用argparse(对于 python >= 2.7)。用于此目的的先前模块是 getopts 和 optparse。

    【讨论】:

      【解决方案3】:

      有两种选择。

      1. 导入 sys.argv 并使用它。
      2. 使用getopts

      另请参阅:Dive into PythonPMotW

      【讨论】:

        【解决方案4】:

        确定选项特定变量也很有用

        ''' \
        USAGE:  python script.py -i1 input1 -i2 input2
            -i1 input1 : input1 variable
            -i2 input2 : input2 variable
        '''
        
        import sys 
        ...
        
        in_arr = sys.argv
        if '-i1' not in in_arr  or '-i2' not in in_arr:
            print (__doc__)
            raise NameError('error: input options are not provided')
        else:
            inpu1 = in_arr[in_arr.index('-i1') + 1]
            inpu2 = in_arr[in_arr.index('-i2') + 1]
        ...
        
        # python script.py -i1 Input1 -i2 Input2
        

        【讨论】:

          猜你喜欢
          • 2014-11-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-30
          • 2015-10-10
          • 2013-09-07
          • 2020-03-03
          相关资源
          最近更新 更多