Python程序,如何在文件执行时使用控制台输入?

Python程序,如何在文件执行时使用控制台输入?,python,input,Python,Input,假设我执行一个python文件,就像Ubuntu中的程序一样 python filename.py--input1--input2 如何在代码中使用这两个输入?(如果可以使用python) 顺便说一句,我想在Windows上做这件事,而不是在Linux上。 例如,我的代码包含一个以字符串形式接受1个参数的函数 我可以在代码运行时将该参数输入为input(),但我希望在已经执行代码时指定它。我建议您查看argparse 或 我建议您看看argparse 或 这当然是可能的,事实上,在python和

假设我执行一个python文件,就像Ubuntu中的程序一样

python filename.py--input1--input2

如何在代码中使用这两个输入?(如果可以使用python)

顺便说一句,我想在Windows上做这件事,而不是在Linux上。 例如,我的代码包含一个以字符串形式接受1个参数的函数


我可以在代码运行时将该参数输入为input(),但我希望在已经执行代码时指定它。

我建议您查看argparse


我建议您看看argparse


这当然是可能的,事实上,在python和其他脚本语言中,这甚至是最基本的

在python中,如果您熟悉c实现,甚至还有getopt模块可以帮助您实现这一点

从官方python文档复制粘贴: 导入getopt,sys

def main():
    try:
        opts, args = getopt.getopt(sys.argv[1:], "ho:v", ["help", "output="])
    except getopt.GetoptError as err:
        # print help information and exit:
        print str(err)  # will print something like "option -a not recognized"
        usage()
        sys.exit(2)
    output = None
    verbose = False
    for o, a in opts:
        if o == "-v":
            verbose = True
        elif o in ("-h", "--help"):
            usage()
            sys.exit()
        elif o in ("-o", "--output"):
            output = a
        else:
            assert False, "unhandled option"
    # ...

if __name__ == "__main__":
    main()
官方文件如下:

有关教程,请参见示例:


另一方面,如果您希望以更简单但不类似c的方式完成argparse,则argparse更容易。关于这一点,请参见另一个答案。

这当然是可能的,事实上,在python和其他脚本语言中,这甚至是最基本的

在python中,如果您熟悉c实现,甚至还有getopt模块可以帮助您实现这一点

从官方python文档复制粘贴: 导入getopt,sys

def main():
    try:
        opts, args = getopt.getopt(sys.argv[1:], "ho:v", ["help", "output="])
    except getopt.GetoptError as err:
        # print help information and exit:
        print str(err)  # will print something like "option -a not recognized"
        usage()
        sys.exit(2)
    output = None
    verbose = False
    for o, a in opts:
        if o == "-v":
            verbose = True
        elif o in ("-h", "--help"):
            usage()
            sys.exit()
        elif o in ("-o", "--output"):
            output = a
        else:
            assert False, "unhandled option"
    # ...

if __name__ == "__main__":
    main()
官方文件如下:

有关教程,请参见示例:


另一方面,如果您希望以更简单但不类似c的方式完成argparse,则argparse更容易。关于这一点,请参见另一个答案。

对于一个简单的情况,您可以使用
sys.argv
,如下所示:

# in your source.py
from sys import argv

arg1 = argv[1] # If your input is a "numerci type" , apply the the appropriate
arg2 = argv[2] # conversion by using (int, float)

...
然后,您可以通过以下方式执行代码:

python source.py arg1 arg2

对于一个简单的情况,您可以按如下方式使用
sys.argv

# in your source.py
from sys import argv

arg1 = argv[1] # If your input is a "numerci type" , apply the the appropriate
arg2 = argv[2] # conversion by using (int, float)

...
然后,您可以通过以下方式执行代码:

python source.py arg1 arg2

@UnholySheep的可能副本没有找到那个帖子,但是谢谢你让我知道@UnholySheep的可能副本没有找到那个帖子,但是谢谢你让我知道谢谢。这对汉克斯很有帮助。那有帮助