使用参数从命令行调用函数-Python(多个函数选项)
我使用的是Python 3.6,我有一个名为file.py的文件,有两个函数:使用参数从命令行调用函数-Python(多个函数选项),python,python-3.x,cmd,Python,Python 3.x,Cmd,我使用的是Python 3.6,我有一个名为file.py的文件,有两个函数: def country(countryName): print(countryName) def capital(capitalName): print(capitalName) 我需要从命令行调用这两个方法中的任何一个,但我真的不知道如何做,也不知道用这种方式调用参数 python file.py <method> <argument> python file.py
def country(countryName):
print(countryName)
def capital(capitalName):
print(capitalName)
我需要从命令行调用这两个方法中的任何一个,但我真的不知道如何做,也不知道用这种方式调用参数
python file.py <method> <argument>
python file.py
有人知道怎么做吗
你好 要在程序中使用命令行参数,可以使用sys.argv 要运行该程序,请执行以下操作:
python file.py capital delhi
输出:
delhi
您的输入参数method_name是一个字符串,因此无法直接调用。因此,我们需要使用getattr
获取方法句柄
命令
sys.modules[\u\u name\u]
获取当前模块。这是file.py模块。然后我们使用getattr
获取我们想要调用的方法并调用它。我们将参数作为`(parameter_name)`传递给方法要在程序中使用命令行参数,可以使用sys.argv
要运行该程序,请执行以下操作:
python file.py capital delhi
输出:
delhi
您的输入参数method_name是一个字符串,因此无法直接调用。因此,我们需要使用getattr
获取方法句柄
命令
sys.modules[\u\u name\u]
获取当前模块。这是file.py模块。然后我们使用getattr
获取我们想要调用的方法并调用它。我们将参数作为`(parameter_name)`传递给方法您可以有一个模块来检查file.py,将其称为executor.py,并调整file.py中的方法以处理参数列表
executor.py:
import file
import sys
method = file.__dict__.get(sys.argv[0])
method(sys.argv[1:-1])
您可以使用一个模块来检查file.py,将其称为executor.py,并调整file.py中的方法以处理参数列表 executor.py:
import file
import sys
method = file.__dict__.get(sys.argv[0])
method(sys.argv[1:-1])
可能重复的可能重复的可能重复的非常感谢辛格!:)非常感谢你,辛格!:)