필자는 Perl 라이브러리 (사실 Perl 클래스)를 많이 작성했으며 Python 응용 프로그램에서 이들 중 일부를 사용하려고합니다. SWIG를 사용하거나 Python 용 Perl API를 작성하지 않고이 작업을 수행하는 자연스러운 방법이 있습니까? PHP의 Perl interface과 유사한 방법을 묻습니다. 파이썬에서 Perl을위한 그런 종류의 작업이 없다면. 파이썬에서 Perl 클래스를 사용하는 가장 쉬운 방법은 무엇입니까?Python에서 Perl 라이브러리를 사용하려면 어떻게해야합니까?
답변
개인적으로 필자는 Perl 라이브러리를 XML/RPC 또는 다른 메커니즘을 통해 서비스로 제공합니다. 그렇게하면 Python 응용 프로그램에서 자연스럽게 호출 할 수 있습니다.
체크 아웃 PyPerl을 확인하십시오.
경고 : 현재 PyPerl은 유지 보수가되지 않으므로 안정성이 필요한 경우에는 사용하지 마십시오.
예 실제로 안정성은 나를위한 중요한 척도입니다. – systemsfault
아마도 Perl 클래스를 Python으로 이식하는 것이 가장 좋습니다. AFAIK, PyPerl은 현재 Python 코드에서 Perl 코드를 호출하는 유일한 방법입니다. – splicer
또는 파이썬 코드를 perl : D로 이식하십시오.perl 코드의 양이 파이썬 코드보다 훨씬 크기 때문에 시간이 많이 걸리지 않을 수 있습니다. 하지만이 경우에는 파이썬에서 코드를 작성할 기회를 놓치게 될 것입니다. 그러나 이것은 용인 할 수 있습니다. :). – systemsfault
Python
이 Perl과 함께 Parrot VM에서 실행될 수있는 기회를 놓치 셨습니다. 에이프릴 게시 된 2009 PEP 401 1, 그리고 FLUFL 읽기의 공식 행위 중 하나에 :
- 는 C가 세 미만의 프로그래머들에 의해 거의 보편적 인 거부와 20 세기 언어임을 인식 30에서 CPython 구현은 Python 2.6.2 및 3.0.2의 릴리스로 종료됩니다. 그 후 Python의 참조 구현은 Parrot 가상 시스템을 대상으로합니다. Python (예 : Jython, IronPython 및 PyPy)의 대체 구현은 공식적으로 권장되지 않지만 용인됩니다.
은 "어떻게 파이썬에서 펄 클래스를 사용하는 가장 쉬운 방법입니다?"
가장 쉬운 것. Perl을 Python으로 다시 작성하고 끝내십시오. 진지하게. 가장 쉬운 언어 인 —을 선택하십시오. Perl을 뒤에 남겨두면 큰 손실이 없습니다. 클래스를 파이썬으로 다시 작성하면 작은 방법으로 클래스를 개선 할 수 있습니다.
쉽지 않습니다. Python의 subprocess 모듈을 사용하여 Perl 응용 프로그램을 실행하십시오. Perl 응용 프로그램에서 Perl 클래스를 문제없이 사용합니다. 펄이 파이썬에서 입력을 취득하는 파이썬
someApp.py | something.pl | finalStep.py
이 1 (때때로), 세 개의 동시 프로세스로 응용 프로그램을 깨는 프로세서 리소스를 많이을 사용하여 실행의 장점을 가지고에 출력을 생성하므로 쉽게 파이프 라인을 만들 수 있습니다/3 시간.
다른 모든 것들이 훨씬 쉽습니다.
실제로 파이썬 용 Perl API는 두 번째 단계에서 설명한 것과 같은 의미였습니다. 필자의 Perl 라이브러리는 pm 파일이고 독립적 인 실행 파일이 아니기 때문에 파이 라이브러리에 액세스 할 수있는 pl 파일을 작성해야하기 때문에 파이썬 용 작은 API도 제공해야합니다. – systemsfault
아직 해보지 않았지만 Inline::Python은 Perl에서 Python을 호출하도록합니다.
당신은 당신의 파이썬 응용 프로그램을로드하기 위해 펄의 얇은 비트를 사용할 수 있어야하고 Perl 객체에 접근하기 위해 I :: P와 함께 제공되는 perl
파이썬 패키지를 사용할 수 있어야합니다.
- 1. PHP에서 Perl 라이브러리를 사용하려면 어떻게해야합니까?
- 2. Perl 스크립트에서 Awk를 사용하려면 어떻게해야합니까?
- 3. Perl 프로그램에서 cURL 또는 Wget을 사용하려면 어떻게해야합니까?
- 4. Ajax, perl 및 JSON을 함께 사용하려면 어떻게해야합니까?
- 5. 리터럴 점이있는 Perl 해시 키를 사용하려면 어떻게해야합니까?
- 6. Java 응용 프로그램에서 대상 라이브러리를 사용하려면 어떻게해야합니까?
- 7. Flex/Flash 프로젝트에서 x264 라이브러리를 사용하려면 어떻게해야합니까?
- 8. 가끔씩 디렉토리가 변경 될 수있는 라이브러리를 가장 효과적으로 사용하려면 어떻게해야합니까?
- 9. Python에서 ActiveTcl 라이브러리를 사용하도록 얻으려면
- 10. Perl에서 C++ 클래스를 사용하려면 어떻게해야합니까?
- 11. Python에서 lxml 라이브러리를 사용하여 XML 파일 작성
- 12. WebClient에서 쿠키를 사용하려면 어떻게해야합니까?
- 13. Windows에서 flex를 사용하려면 어떻게해야합니까?
- 14. 비표준 위치에 설치된 Perl 모듈에 의존성을 사용하려면 어떻게해야합니까?
- 15. 일반 데이터 집합 처리 Perl 라이브러리를 작성하려면 어떻게해야합니까?
- 16. 파이썬에서 공통 코드를 사용하려면 어떻게해야합니까?
- 17. Perl 또는 Python에서 Java 클래스 구문 분석
- 18. Python 스크립트로 Perl 스크립트의 결과를 얻으려면 어떻게해야합니까?
- 19. SDl_Threads를 올바르게 사용하려면 어떻게해야합니까?
- 20. Firefox를 사용하려면 어떻게해야합니까?
- 21. ChildWindow에서 VisualStates를 사용하려면 어떻게해야합니까?
- 22. Spring에서 https를 사용하려면 어떻게해야합니까?
- 23. 보기에서 'unless'키워드를 사용하려면 어떻게해야합니까?
- 24. 'htonl'을 사용하려면 어떻게해야합니까?
- 25. 해시에 변수를 사용하려면 어떻게해야합니까?
- 26. avalon 마법사를 사용하려면 어떻게해야합니까?
- 27. webapp2에서 ACL을 사용하려면 어떻게해야합니까?
- 28. Java : TreeBidiMap을 사용하려면 어떻게해야합니까?
- 29. 큰 wxCursor를 사용하려면 어떻게해야합니까?
- 30. 컬의 AsynchDNS를 사용하려면 어떻게해야합니까?
고맙습니다 shane 순간 나는 파이썬에서 다시 작성하거나 소켓을 사용하여 두 언어를 의사 소통하기위한 API를 구현하는 2 가지 옵션을 고려 중입니다. – systemsfault