Я только что установил Ubuntu 18.04 на прежний ноутбук с Windows 7. При попытке подключить принтер, принадлежащий компьютеру Windows, в моей сети через Samba, я обнаружил, что не могу вставить пробелы в путь, используя обычные префиксы специальных символов; специальные символы не влияют на строку ввода. Я уже получил ссылку на этот принтер с моего другого ноутбука Ubuntu, на котором установлена более ранняя версия Ubuntu.
Итак, что-то кардинально изменилось с 18.04? или я делаю что-то не так?
Любая помощь будет оценена.
Не забудьте сначала проверять от тех, которые платят за разработку, что они соглашаются с кодовой базой, нуждающейся в разработчике, который знает и Python и Java с этого времени, и другую стоимость и эффекты пригодности для обслуживания, которые Вы, несомненно, уже объяснили.
См.: http://www.acm.org/about/se-code 1.06, 2.03, 2.09, 4.03, 4.05, 6.07
Я записал бы модуль Python, чтобы обработать обработку текста и обработку языка, и затем создать маленький мост в jython, с которым может взаимодействовать Ваша программа Java. Мост jython будет очень простым, это действительно только ответственно за перевод вызовов к модулю Python, и дайте ответ от модуля Python до модуля Java. Jython действительно прост в использовании, и установка не должна брать Вас больше чем 15 минут.
Всего наилучшего
Я не думаю, что Вы могли использовать NLTK от Jython, так как он зависит от Numpy, который не портирован к JVM. При необходимости в NLTK или каком-либо другом собственном расширении CPython Вы могли бы рассмотреть использование некоторого механизма IPC для передачи между CPython и JVM. Однако существует проект позволить называть CPython от Java, названного Jepp:
Реверс (вызов кода Java от CPython) является целью JPype и javaclass:
sourceforge.net/projects/jpype/
pypi.python.org/pypi/javaclass/0.1
Я никогда не использовал ни одного из них, проектируют, таким образом, я cant't клянусь по их качеству.
Просто выполните интерпретатор Python как подпроцесс из Java.
Запишите свою функциональность Python как надлежащий сценарий, который читает из stdin и пишет в stdout.
Используйте Java Runtime
класс для порождения подпроцесса, который запускает скрипт Python. Это очень просто сделать и обеспечивает очень чистый интерфейс.
Править
import simplejson
import sys
for request in sys.stdin.readlines():
args = simplejson.loads( request )
result = myFunction( args['this'], args['that'] )
sys.stdout.writeline( simplejson.dumps( result ) + "\n" )
Интерфейс является простыми, структурированными и очень низкими издержками.
Я решил проблему. Символы ESC не приняты. Вставлять пробел, тип "%20".