在Python中使用多个参数执行Knime(子流程运行)

2024-09-28 05:28:41 发布

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

大家好

我正在寻找一种在批处理模式下用Python执行KNIME工作流的方法(不打开KNIME的GUI,https://www.knime.com/faq#q12) 经过几个小时的努力,我在问你是否能在这种情况下帮助我:

当我运行python文件时,它会打开Knime exe,几秒钟后还会打开Knime GUI。不幸的是,exe没有执行工作流(为了测试工作流,应该读取csv文件并将其保存在另一个文件目标中)

这是python 3.7中的实际代码:

import subprocess
subprocess.run(["C:/Program Files/KNIME/knime.exe","-consoleLog","-nosplash","-noexit","-nosave","-reset","-application org.knime.product.KNIME_BATCH_APPLICATION","-workflowDir= C:/Users/jssch/knime-workspace/testexecute"]

当我在命令行中粘贴以下代码时,代码正常工作并正确执行(它只是移交参数,不会打开knime GUI):

C:\Program Files\KNIME\knime.exe" -consoleLog -noexit -nosplash -nosave -reset -application org.knime.product.KNIME_BATCH_APPLICATION -workflowDir="C:\Users\jssch\knime-workspace\testexecute"

提前谢谢你的帮助!你知道吗


Tags: 文件代码guifilesprogramexesubprocessreset
1条回答
网友
1楼 · 发布于 2024-09-28 05:28:41

我认为您在-application部分犯了一个错误,它们应该在不同的字符串中。还有-workflowDir= C:/。。。似乎还有多余的空间。你知道吗

问题部分:

"-application org.knime.product.KNIME_BATCH_APPLICATION"

应该是:

"-application", "org.knime.product.KNIME_BATCH_APPLICATION"

可能您也不需要-noexit参数。你知道吗

总之:

import subprocess
subprocess.run(["C:/Program Files/KNIME/knime.exe", "-consoleLog", "-nosplash", "-nosave", "-reset", "-application", "org.knime.product.KNIME_BATCH_APPLICATION", "-workflowDir=C:/Users/jssch/knime-workspace/testexecute"]

(我通常喜欢没有空格的路径,奇怪的字符,我会使用不同路径的KNIME安装,尽管这也很好。)

相关问题 更多 >

    热门问题