2009-10-22 4 views
0

내 응용 프로그램과 함께 Python/C API를 사용하고 있으며 GUI 출력으로 콘솔 출력을 얻는 방법을 알고 싶습니다. 스크립트 오류가 발생하면 printf를 통해 표시되지만 분명히 GUI 응용 프로그램에는 영향을 미치지 않습니다. 나는 콘솔을 만들지 않고 출력물을 얻을 수 있기를 원한다. 이 작업을 수행 할 수 있습니까?출력을 얻는 방법?

편집 - Windows, btw를 사용하는 임.

편집 - Python/C 라이브러리는 내부적으로 printf를 호출하므로 스크립트를로드하고 실행할 수 있습니다. 오류가 발생하면 가져올 수 있기를 원합니다.

답변

1

printf 대신 logging 패키지를 사용하십시오. C 함수에서 출력을 로그해야하는 경우 비슷한 것을 사용할 수 있습니다.

+0

http://logging.apache.org/log4cxx/index.html을 살펴보십시오. 내가 직접 사용하지는 않았지만이 (그리고 파이썬 로깅)은 log4j에서 파생 된 것 같다. – resi

1

printf에 의해 C 코드에서 정확히 thqt 호출을하는 경우, 표준 출력 (파일 설명자 0)을 어딘가에서 리디렉션해야합니다 (파일 디스크립터 0). . Windows에서 가능할 수도 있지만. 하지만 C 코드의 호출을 좀 더 합리적인 것으로 바꾸지 않는 이유는 무엇입니까? (최악의 경우, printf를 모방하여 문자열을 만든 다음 그 문자열을 적절히 지시하는 자신의 고안 기능인 geprintf).

실제로는 print 문을 파이썬 코드로 사용하는 것이 훨씬 쉽습니다. sys.stdout을 문자열로 받아들이는 write 메서드가있는 객체로 설정하면 로깅, 쓰기 등 원하는대로 해당 메서드를 수행 할 수 있습니다 GUI 창에서 원하는 것을 선택하십시오. 아, C 레벨에서 그렇게 간단했습니다. -)

관련 문제