2012-01-09 3 views
0

다른 CLI를 열고 거기에서 실행하는 python 스크립트가 필요합니다. 예 :다른 명령 줄 인터페이스 (CLI) 내에서 열려있는 파이썬 프로그램?

python C:\Python27\Scripts\script.py test 
python /path/to/script_folder/script.py test 

유닉스와 윈도우를 모두 지원해야합니다.

제안 사항? 당신이 당신의 스크립트에서 대화 형 콘솔을 실행 찾고 있다면

+2

질문을 이해할 수 없습니다. –

+0

두 명령 모두 완벽하게 작동해야합니다. 무슨 문제 있니? –

답변

2

, 나는이 같은 것을 사용하십시오 :

import code 
console = code.InteractiveConsole() 
console.interact() 

당신은 code module documentation에서 자세한 정보를 찾을 수 있습니다. 특히 runcoderunsource 방법에 관심이있을 수 있습니다. 내가 제대로 질문을 이해한다면

$ python -i <path_to_script> 
0

, 당신이 원하는 : 당신은 파이썬 쉘에서 스크립트 실행 후 스크립트를 실행하고 계속 찾고 있다면

, 나는 이런 식으로 뭔가를 사용하십시오 :

  1. 출시 파이썬 스크립트
  2. 자체가 새로운 터미널에서 새 터미널 창을
  3. 를 시작해야이 스크립트는 다른 파이썬 스크립트 수오 실행할 수 있습니다.

포인트 3이 터미널 창을 열어 두어야하는지 여부에 따라 솔루션이 매우 다를 수 있습니다.

창이 열려 있지 않은 경우 os.system 또는 subprocess으로 이동하십시오. 파이썬 스크립트 만 실행하는 경우 "파이썬"을 실행 파일로 지정하면 크로스 플랫폼이됩니다.

창이 열려 있어야하는 경우 OS 관련 (Windows에서는 cmd.exe, 유닉스에서는/bin/sh,/bin/bash) 특정 쉘 + 터미널을 실행해야합니다. 또는 다른 무엇이든지, 아마도 xterm에 의해 싸서).

완전히 다른 세션을 열어야한다는 매우 구체적인 요구 사항이 없으면 두 번째 모듈을 가져 와서 첫 번째 모듈에서 가져 오거나 메모리에서 읽은 다음 exec을 사용해야합니다. . 이

command = r'start cmd.exe python "' + <script> + r'" [args]' 
os.system(command) 

키워드 : 많은 심의 후,이 질문 등을 읽고, 나는 해결책을 발견

0

, 나의 순간 "사람은 나는 바보입니다", 그리고 결국,이 트릭을 할 것입니다했다 "시작"입니다. 그것은 기본적으로 실행 파일이 실제 호출자와 관계가 없다는 것을 Windows에 알려주는 마법입니다. 비올라에는 새 콘솔이 있습니다.

유닉스에 대해서는 잘 모르겠지만, GNOME 터미널을 어떻게 든 사용하는 것은 비슷하다고 가정합니다.

관련 문제