Exec oracle.ucm.fa_client_ .jar в Python - PullRequest
0 голосов
/ 11 апреля 2019

я хочу запустить в python и сохранить ответ в var, это:

result=java -classpath "oracle.ucm.fa_client_11.1.1.jar" oracle.ucm.client.SearchTool 
-url=https://egjl.fs.us6.oraclecloud.com/_dav/cs/idcplg 
--username=myuser  --password=mypass  
--fields=dDocName,dOriginalName --defaultFields=false 
--dSecurityGroup="UCM_Spaces" --dOriginalName%=Assig%

я пытаюсь сделать это:

import subprocess
result=subprocess.call(['java','-classpath','oracle.ucm.fa_client_11.1.1.jar','oracle.ucm.client.SearchTool -url=https://egjl.fs.us6.oraclecloud.com/_dav/cs/idcplg --username=myuser  --password=mypass --fields=dDocName,dOriginalName --defaultFields=false --dSecurityGroup="UCM_Spaces" --dOriginalName%=Assig%'])

Error: Could not find or load main class oracle.ucm.client.SearchTool -url=https:..egjl.fs.us6.oraclecloud.com._dav.cs.idcplg --username=myuser  --password=mypass --fields=dDocName,dOriginalName --defaultFields=false --dSecurityGroup="UCM_Spaces" --dOriginalName%=Assig%

О, сюрприз! : когда я пытаюсь в работе оболочки ..

 java -classpath "oracle.ucm.fa_client_11.1.1.jar" oracle.ucm.client.SearchTool 
-url=https://egjl.fs.us6.oraclecloud.com/_dav/cs/idcplg 
--username=myuser  --password=mypass  
--fields=dDocName,dOriginalName --defaultFields=false 
--dSecurityGroup="UCM_Spaces" --dOriginalName%=Assig%

Результат: dDocName dOriginalName UCMFA00123 Assig201903123

1 Ответ

0 голосов
/ 11 апреля 2019

Используйте python подпроцесс для порождения дочернего процесса. В нем есть все инструменты, необходимые для считывания того, что ребенок написал на стандартном выводе.

Простой способ получить вывод:

>>> subprocess.check_output(["echo", "Hello World!"])
b'Hello World!\n'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...