动态地在python中进行多重处理 - c#

我有一个通过C#调用的python文件。我提供了各种参数,其中之一就是我要运行的函数。我正在将daemon标志设置为True的多重处理。然后,我以主时间join()带有可选时间限制的新过程。

一切都按我想要的方式工作,但是我希望它更具动态性,因此我不必拥有庞大的if语句清单来决定调用哪个函数。

所以,我该如何修改

p = Process(target=dc_906, args=(self.transactionCode, self.givexNum, self.amount, queue))

使用类似下面的内容,其中self.function是已定义函数的名称:

p = Process(target=self.function, args=(self.transactionCode, self.givexNum, self.amount, queue))

完整的python代码:

queue = mp.Queue()

if self.function == 'dc_906':
    p = Process(target=self.dc_906, args=(self.transactionCode, self.givexNum, self.amount, queue))
elif self.function == 'dc_901':
    p = Process(target=self.dc_901, args=(self.transactionCode, self.givexNum, self.amount, queue))
else:
    p = Process(target=self.dc_907, args=(self.transactionCode, self.givexNum, self.amount, queue))

p.daemon = True

p.start()

p.join(2)

if p.is_alive():
    print 'alive'

print queue.get()

size = queue.qsize()

参考方案

给定描述字符串的方法,使用getattr动态获取绑定方法:

p = Process(target=getattr(self, self.function), args=(...)

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

如何在PyQt4的动态复选框列表中检查stateChanged - python

所以我要从PyQt4的列表中添加复选框。但是我找不到在Window类中对每个状态使用stateChanged的方法。这是从列表元素添加它们的功能: def addCheckbox(self): colunas = Graphic(self.caminho).getColunas() for col in colunas: c = QtGui.QCheckBo…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

管理多个会话和图形的合理方法 - python

我想在多个会话中管理多个Keras模型。构建我的应用程序后,除了创建,保存和加载模型外,还可以同时运行它们。处理这种情况的正确方法是什么?当前,一个模型由包装类的实例表示。它用于训练,保存,加载和预测。每个实例创建一个tf.Graph和tf.Session,它们在需要实际模型的每个函数中使用。class NN: def __init__(self): sel…

python-docx应该在空单元格已满时返回空单元格 - python

我试图遍历文档中的所有表并从中提取文本。作为中间步骤,我只是尝试将文本打印到控制台。我在类似的帖子中已经看过scanny提供的其他代码,但是由于某种原因,它并没有提供我正在解析的文档的预期输出可以在https://www.ontario.ca/laws/regulation/140300中找到该文档from docx import Document from…