BG Development


Страници: (3) [1] 2 3   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Проблем с извикването на Python файл в Java app
boxing
Публикувано на: 12-07-2017, 10:37
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 105
Регистриран на: 16.06.15



CODE

   @GetMapping("/jython")
   public String pythonFile(Model model) {
       try {
           Process p = Runtime.getRuntime().exec("D:\\worker.py");
           BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
           String ret = in.readLine();
           System.out.println("value is : " + ret);
       } catch (IOException e) {
           e.printStackTrace();
       }

       model.addAttribute("view", "user/sensors");
       return "view";

   }

Това е метода и ми казва, че това не е Win32 application, като прихване IO Exception-a.
Някой има ли идея как да го реализирам, искам да се компилира пайтънския код?

Това мнение е било редактирано от boxing на 12-07-2017, 11:06
PMEmail Poster
Top
ici
Публикувано на: 12-07-2017, 11:18
Quote Post


Group Icon
Име: Ивайло Илчев ики
Група: VIP
Ранг: Почетен член

Мнения: 14826
Регистриран на: 06.06.04



Много си далече от истината. icon_smile.gif http://www.jython.org/jythonbook/en/1.0/Jy...ntegration.html - One-to-One Jython Object Factories - примерно.


--------------------
Everything you can imagine is real. Pablo Picasso
PMEmail PosterUsers Website
Top
Bender
Публикувано на: 12-07-2017, 11:23
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 4724
Регистриран на: 19.06.14



Правилно ти казва - ПИ файлана е изпълним. Трябва да извикаш питон интерпретатора и да му подадеш като параметър тоя файл


--------------------
Живота е спагети, кода за да работи добре трябва да го наподобява - Дон Реба
...
Живеем в греховни времена, какво очакваш богоугоден и благочестив код ли? - Дон Реба
...
много положителна енергия черпя от вас двамата,единият комунистически девствен,другият яко яхнал асемблерните розови понита - saruman
...
Рано или късно усерите на Виндофс разбират че стоят от неправилната страна на хуя. - ici
PM
Top
thrawn
Публикувано на: 12-07-2017, 11:25
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 977
Регистриран на: 17.01.17



Първо какво значи "да се компилира"? Питонът въпреки, че предлага опция за замразяване (май най-близо до компилиране) си остава скриптов език и за стартирането на питонски скриптове си трябва посочен интерпретатор (или в самия скрипт да се посочи такъв, за unix шел, какъвто явно не ползваш).

Та би следвало стартирането на worker.py да е нещо подобно.
CODE
Process p = Runtime.getRuntime().exec("python.exe D:\\worker.py");


Като пътя до python.exe трябва да е посочен в променливата на обкръжението PATH (или па да си го посочиш директно в кода).

Отделно, трябва да се замислиш в/у структурата на тоя код. Не го знам какво е това, но е редно подобни неща да се пускаш на отделна нишка. Та ако фреймуоркът които ползваш не изпълнява асинхронно тоя метод е редно да се замислиш как да го направиш асинхронен.
PMEmail Poster
Top
georgib1
Публикувано на: 13-07-2017, 11:41
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 883
Регистриран на: 26.09.16



бахти гъзарския език бил Джава icon_smile.gif

Това мнение е било редактирано от georgib1 на 13-07-2017, 11:41
PMEmail Poster
Top
ici
Публикувано на: 13-07-2017, 11:46
Quote Post


Group Icon
Име: Ивайло Илчев ики
Група: VIP
Ранг: Почетен член

Мнения: 14826
Регистриран на: 06.06.04



Най-големият гъзар е хемороида!

Това мнение е било редактирано от ici на 13-07-2017, 11:46


--------------------
Everything you can imagine is real. Pablo Picasso
PMEmail PosterUsers Website
Top
georgib1
Публикувано на: 13-07-2017, 11:50
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 883
Регистриран на: 26.09.16



QUOTE (ici @ 13-07-2017, 11:46)
Най-големият гъзар е хемороида!

кой е хемороида? icon_lol.gif
PMEmail Poster
Top
RoYaL
Публикувано на: 13-07-2017, 14:55
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 849
Регистриран на: 21.08.05



Буквалисти everywhere icon_lol.gif
PMEmail Poster
Top
0xdeadbeef
Публикувано на: 13-07-2017, 18:35
Quote Post



Име:
Група: Потребител
Ранг: Редовен член

Мнения: 326
Регистриран на: 07.03.14



QUOTE (georgib1 @ 13-07-2017, 11:50)
кой е хемороида? icon_lol.gif

побачкай 15-20 год. и ще разбереш...че може и по-рано даже icon_lol.gif icon_lol.gif icon_lol.gif
PMEmail Poster
Top
FidelDahan
Публикувано на: 14-07-2017, 09:01
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2196
Регистриран на: 12.06.08



QUOTE (georgib1 @ 13-07-2017, 11:41)
бахти гъзарския език бил Джава icon_smile.gif

Това всъщтност не е езика Java, a е виртуалната машина на Java, която позволява изпълнението на други езици. Условието е другите езици да могат да се компилират до междинен код, който се разпознава от виртуалната машина. Същата концепция я има още по-добре направена в C# и .NET. Там C# e езика, а .NET предоставя виртуалната машина.
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (3) [1] 2 3  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0