[英]runtime function target to multiprocessing.Process
有沒有辦法確定新進程在運行時要運行哪個功能。 (由multiprocessing.Process
創建)
假設我有2個功能
def f():
print("In f")
def g():
print("In g")
func_name = str(input("enter function to be run = "))
multiprocessing.Process(target = func_name, args = ()).start()
現在,當我運行程序時
enter function to be run = f
這給我錯誤
TypeError: 'str' object is not callable
這似乎很明顯,因為函數的名稱應該匹配,但是在這種情況下,該名稱作為字符串存在於變量func_name
中。
使用字典:
functions = {'f': f, 'g': g}
multiprocess.Process(target=functions.get(func_name), args=()).start()
最好確保func_name
實際上在functions
。 您還可以擁有一個默認函數,該函數可以作為.get()
的第二個參數提供
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.