使用Python参数从命令行调用函数(多个函数选择)

2024-09-30 20:19:52 发布

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

我使用的是python3.6,我有一个名为文件.py,具有以下两个功能:

def country(countryName):
    print(countryName)

def capital(capitalName):
    print(capitalName)

我需要从命令行调用这两个方法中的任何一个,但真诚地说,我不知道如何做到这一点,也不知道如何使用这种方式的参数。在

^{pr2}$

有人知道怎么做吗?在

你好!在


Tags: 文件方法命令行py功能参数def方式
2条回答

要在程序中使用命令行参数,可以使用阿尔格夫系统. Read more

import sys

def country(countryName):
    print(countryName)

def capital(capitalName):
    print(capitalName)

method_name = sys.argv[1]
parameter_name = sys.argv[2]

getattr(sys.modules[__name__], method_name)(parameter_name)

运行程序:

^{pr2}$

输出:

delhi

您的输入参数方法\u name是字符串,因此无法直接调用。因此,我们需要使用getattr获取方法句柄。在

命令sys.modules[__name__]获取当前模块。是什么文件.py模块。然后我们使用getattr获取我们要调用的方法并调用它。我们将参数作为“(parameter_name)”传递给方法

你可以有一个模块来检查文件.py,叫它执行器.py,并在中调整方法文件.py处理参数列表

在执行器.py公司名称:

import file
import sys    

method = file.__dict__.get(sys.argv[0])
method(sys.argv[1:-1]) 

相关问题 更多 >