Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Qlik Sense load脚本中执行python脚本_Python_Qliksense - Fatal编程技术网

在Qlik Sense load脚本中执行python脚本

在Qlik Sense load脚本中执行python脚本,python,qliksense,Python,Qliksense,我正在尝试在Qlik Sense应用程序的加载脚本中运行python脚本 我知道我需要将OverrideScriptSecurity=1放入Settings.ini 我把 在qlik的意义上,我并没有得到任何错误,但脚本并没有被执行(我想),因为在脚本中我有 f = open("file.xml", "wb") f.write(xml) f.close 并且文件未保存 若我从终端运行脚本,那个么脚本将正确执行 会出什么问题 顺便说一下,我的python解释器的完整路径是 C:\Users\Ma

我正在尝试在Qlik Sense应用程序的加载脚本中运行python脚本

我知道我需要将
OverrideScriptSecurity=1
放入
Settings.ini

我把

在qlik的意义上,我并没有得到任何错误,但脚本并没有被执行(我想),因为在脚本中我有

f = open("file.xml", "wb")
f.write(xml)
f.close
并且文件未保存

若我从终端运行脚本,那个么脚本将正确执行

会出什么问题

顺便说一下,我的python解释器的完整路径是

C:\Users\Marko Z\AppData\Local\Programs\Python\Python37-32\python.exe
编辑: 即使我加上这个

Set vPythonPath = "C:\Users\Marko Z\AppData\Local\Programs\Python\Python37-32\python.exe";
Set vPythonFile = "C:\Users\Marko Z\Documents\Qlik\Sense\....\getSolution.py";

Execute $(vPythonPath) $(vPythonFile);
我也有同样的行为。没有错误,但不工作,。。。 我甚至看到,如果我更改路径(不正确的路径),它会给我一个错误,但不正确的文件不会给我一个错误。。。。(但我确信它是正确的文件路径…)

我的python代码是

xml = "Marko"
xml = xml.encode('utf-8')
f = open("C:\\Users\\Marko Z\\Test.xml", "wb")
f.write(xml)
f.close

奇怪。使用完全相同的python文件和QS脚本,可以正确生成结果文件

my
settings.ini的内容

[Settings 7]
StandardReload=0
OverrideScriptSecurity=1    

根据Qlik的文档,末尾应该有一条空行(从第4点开始)

我找出了问题所在。 对于所有其他可能存在类似问题的情况:

问题在于路径中的空间。 如果我在c:\Windows\getSolution.py中移动脚本,它就会工作。我还需要将python路径更改为c:\Windows\py.exe

因此,结束脚本看起来像:

Execute c:\Windows\py.exe c:\Windows\getSolution.py 100 'bla';

但我仍然需要弄清楚如何使用路径中的空间…

我能够在qlik意义下使用以下内容:

set vPyExe = C:\Program Files\Python37\python.exe;
set vPyScript = D:\...\PythonScript.py; 

Execute
"$(vPyExe)" "$(vSource)"
;

尝试在路径周围加上双引号:
Execute“$(vPythonPath)”“$(vPythonFile)”。我对Qlik Sense不是非常熟悉,所以这只是一个暗中操作。
set vPyExe = C:\Program Files\Python37\python.exe;
set vPyScript = D:\...\PythonScript.py; 

Execute
"$(vPyExe)" "$(vSource)"
;