gpt4 book ai didi

python - 从控制台调用函数作为参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:26 25 4
gpt4 key购买 nike

我有一个file1.py:

def battery():
pass

// much more methods here

if __name__ == "__main__":
cmd = str((sys.argv)[1]) + "()"
os.system(cmd)

现在我想使用 python file1.py battery 从 linux 控制台调用 file1.battery()

但是我得到了错误:

sh: 1: Syntax error: end of file unexpected

最佳答案

您可以使用 eval用于编译类似代码的字符串或使用 globalslocals:

def func():
return 'hello'

print eval('func()')
print globals()["func"]()
print locals()["func"]()

>>> hello
>>> hello
>>> hello

此外,该模块可以导入自身:

import sys

current_module = sys.modules[__name__]
function = getattr(current_module, 'func')
print function()

关于python - 从控制台调用函数作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36647795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com