2012-11-05 5 views
2

내가 가지고있는 문제점에 대해 어떻게 해야할지 잘 모름. 나는 형식으로 명령 줄을 통해 내 코드를 실행 :쉘과 iPython에서 실행

대부분의 경우 괜찮지 만, 난 그냥 iPython 있고 난 디버깅을 위해 사용하는 iPython의 코드를 실행하려면
python program.py arg1 arg2 

. 그러나, 나는 인수를 전달하는 가장 좋은 방법을 찾을 수 없습니다.

executable('program')

subprocess에 문제가 어떤 종류의 충분하지 않습니다, 캔트 당신은 단지 ipython program.py arg1 arg2을 실행할 수 있어야 그것이

subprocess.call([sys.executable, 'program.py','arg1']) 

답변

4

작동합니다. 스크립트 실행 후 프로그램과 상호 작용하려면 ipython -i program.py arg1 arg2을 실행하십시오. -i 플래그는 파이썬과 마찬가지로 ipython에서도 동일하게 작동합니다.

이미 ipython 안에 있고 스크립트를 실행하려는 경우 ipython 마법 함수를 사용하여 run program.py arg1 arg2으로 스크립트를 실행할 수 있습니다. 또한 run 함수에 -m 옵션을 사용하면 스크립트 경로가 아닌 이름으로 모듈을 실행하는 일반 파이썬의 -m 옵션과 유사하게 작동합니다.

1

ipython은 명령 줄에서 여러 인수를 실행할 파일로 취급합니다. 그래서, 내가 비슷한 것을 처리 한 것은 다음과 같습니다 :

ipython -i --InteractiveShellApp.code_to_run="%run my_prog.py arg1 arg2" 

% run은 ipython magic 명령입니다. ipython 프롬프트에서, 그것에 대한 자세한 내용을 보려면

$ ipython --help-all 
:

In [1]: %run? 

입력하는 명령 줄 옵션에 대한 자세한 내용은 다음을

관련 문제