명령 값을 파일에 출력하려고합니다. 나는 시도했다 :명령의 출력을 파이썬에서 파일로 리디렉션하는 방법
threaddump() >> /dir/newdir/newfile.log
그것은 작동하지 않는다.
그래서 어떻게 명령의 출력을 디렉토리의 파일로 리디렉션 할 수 있습니까? 파이썬의 버전은 2.3.4입니다.
명령 값을 파일에 출력하려고합니다. 나는 시도했다 :명령의 출력을 파이썬에서 파일로 리디렉션하는 방법
threaddump() >> /dir/newdir/newfile.log
그것은 작동하지 않는다.
그래서 어떻게 명령의 출력을 디렉토리의 파일로 리디렉션 할 수 있습니까? 파이썬의 버전은 2.3.4입니다.
접근 방법에 오해가 있습니다. 파이썬은 쉘이 아니라 단순한 인터프리터입니다. 쉘은 프로그램을 시작할 수 있으며, 환경 변수, 현재 작업 디렉토리와 같은 시작된 프로그램에 컨텍스트 데이터를 항상 제공 할 수 있지만 파일로의 리디렉션을위한 표준 IO 스트림 (stdin, stdout, stderr)도 제공 할 수 있습니다. 파이썬 함수는 호출자와 동일한 프로세스에서 실행되기 때문에 스트림을 포함하는 동일한 전역 객체를 사용할 수 있습니다.
는이 문제를 해결하기위한 몇 가지 방법으로 당신을 나뭇잎
는임시 파일로 sys.stdout을 리디렉션합니다. 이것은 호출 된 코드를 변경하는 것이 좋은 옵션이 아닌 경우에 특히 유용합니다. 그렇지 않으면 전체 프로세스에 영향을주기 때문에이 작업을 수행하지 않을 것입니다.
함수에서 데이터를 반환하고 호출자 사이트의 파일로 인쇄하십시오.
함수가 인쇄 할 함수에 파일을 전달하십시오.
[1] 환경 변수, 작업 디렉토리 또는 표준 IO 스트림을 전달하는 방법이없는 MS Windows CE 만 예외입니다.
일반 파일 작업을 사용하여 파일에 쓰려고 했습니까? – msvalkon
당신은> & 명령 $ mypymodule.py> & log.file – Greg