如何让Python程序接收来自UNIX终端的标准输入的参数作为输入?

2024-10-04 05:30:23 发布

您现在位置:Python中文网/ 问答频道 /正文

例如-我想做一些像。。。你知道吗

python DoublePendulum.py INPUT1 INPUT2

(其中INPUT1INPUT2作为双摆程序内的变量输入)。你知道吗


Tags: py程序input1input2doublependulum
2条回答

$ python test.py one two five something

内部测试.py你知道吗

import sys
print(sys.argv[0:1], sys.argv[1:2], sys.argv[2:3], sys.argv[3:4], sys.argv[4:5])  

将输出为列表:

['test.py'] ['one'] ['two'] ['five'] ['something']
for my_var in sys.argv:
    print(my_var)

将输出:作为字符串

test.py  
one  
two  
five  
something

我做了这个函数,返回你想要的参数

def give_me_arg(n):
    num = len(sys.argv)
    if n >= num:
        print("Only enter:>",num,'<-and are this from 0 to ',num-1,':', sys.argv)
        return ''
    else:
        for my_var in sys.argv[n:n+1]:
            return my_var

my_var=give_me_arg(3)
$ python test.py arg1 arg2 arg3

在测试.py你知道吗

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)

输出

Number of arguments: 4 arguments.
Argument List: ['test.py', 'arg1', 'arg2', 'arg3']

Python还提供了帮助您解析命令行选项和参数的模块。 标准库中有以下模块:

  • getopt模块类似于GNU getopt。你知道吗
  • optparse模块提供面向对象的命令行选项解析,optparse在Python的2.7版本中被弃用argparse是替代品。你知道吗

相关问题 更多 >