我希望用户使用命令行输入参数,并在命令行中输入变量名。
例如,
python test.py a=10 b=20代码应该能够在需要的任何地方使用a=10和b=10。
我能够实现python test.py 10 20,但不是上面给出的东西。我想知道在python中这是否可能?
发布于 2021-09-30 05:10:59
您可以使用sys和getopt以类似于在C中检查命令行参数的方式来完成此操作。您可以通过阅读文档here来了解这是否是适合您的用例的正确选择。
发布于 2021-09-30 05:12:45
您不能从命令行直接赋值变量,但是来自sys模块的sys.argv将返回所有命令行参数的列表。因此,您可以传递这些值,然后在程序的第一行中指定它们,如下所示。
import sys
# expect program to be run with "python test.py 10 20"
file_name = sys.argv[0] # this will be "test.py" in our example
a = sys.argv[1] # this will be 10
b = sys.argv[2] # this will be 20有关此主题的更多详细信息,请参阅本文。https://www.geeksforgeeks.org/how-to-use-sys-argv-in-python/
发布于 2021-09-30 05:48:28
你可以这样做(非常麻烦):
import sys
def assign_variable_dynamically(expression):
var_name, value = expression.split("=")
globals()[var_name] = value
# for the following run: python test.py a=10 b=20
# you will get:
assign_variable_dynamically(sys.argv[1])
assign_variable_dynamically(sys.argv[2])
print(a) # output: 10
print(b) # output: 20https://stackoverflow.com/questions/69386432
复制相似问题