gpt4 book ai didi

python - 直接从文件运行 python 方法/函数

转载 作者:太空狗 更新时间:2023-10-30 01:00:14 24 4
gpt4 key购买 nike

我想知道是否有一种方法可以直接从文件中直接运行 python 函数,只需在一行中提及文件名后跟函数。

例如,假设我有一个文件“test.py”,其中包含一个函数“newfunction() '.

------------测试.py------------

def newfunction():
print 'welcome'

我可以运行 newfunction() 做类似的事情吗?

  python test.py newfunction

我知道如何导入和调用函数等。在 django etc ( python manage.py runserver ) 中看到类似的命令,我觉得有一种方法可以像这样直接调用函数。让我知道类似的事情是否可行。

我希望能够将它与 django 一起使用。但是一个适用于任何地方的答案会很棒。

最佳答案

尝试使用 globals()arguments (sys.argv):

#coding:utf-8

import sys

def moo():
print 'yewww! printing from "moo" function'

def foo():
print 'yeeey! printing from "foo" function'

try:
function = sys.argv[1]
globals()[function]()
except IndexError:
raise Exception("Please provide function name")
except KeyError:
raise Exception("Function {} hasn't been found".format(function))

结果:

➜ python calling.py foo
yeeey! printing from "foo" function

➜ python calling.py moo
yewww! printing from "moo" function

➜ python calling.py something_else
Traceback (most recent call last):
File "calling.py", line 18, in <module>
raise Exception("Function {} hasn't been found".format(function))
Exception: Function something_else hasn't been found

➜ python calling.py
Traceback (most recent call last):
File "calling.py", line 16, in <module>
raise Exception("Please provide function name")
Exception: Please provide function name

关于python - 直接从文件运行 python 方法/函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36686007/

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