IDLE 대화 형 쉘 내에서 파이썬 스크립트를 어떻게 실행합니까?
다음은 오류를 발생시킵니다.
>>> python helloworld.py
SyntaxError: invalid syntax
python helloworld.py
IDLE 셸 창에 입력 되고 작동하지 않을 가능성이 있습니다.
IDLE 대화 형 쉘 내에서 파이썬 스크립트를 어떻게 실행합니까?
다음은 오류를 발생시킵니다.
>>> python helloworld.py
SyntaxError: invalid syntax
python helloworld.py
IDLE 셸 창에 입력 되고 작동하지 않을 가능성이 있습니다.
답변:
Python3 :
exec(open('helloworld.py').read())
파일이 동일한 디렉토리에없는 경우 :
exec(open('./app/filename.py').read())
전역 / 로컬 변수 전달에 대해서는 https://stackoverflow.com/a/437857/739577 을 참조 하십시오 .
사용되지 않는 Python 버전
Python2 내장 함수 : execfile
execfile('helloworld.py')
일반적으로 인수로 호출 할 수 없습니다. 그러나 여기에 해결 방법이 있습니다.
import sys
sys.argv = ['helloworld.py', 'arg'] # argv[0] should still be the script name
execfile('helloworld.py')
2.6부터 폐지 : popen
import os
os.popen('python helloworld.py') # Just run the program
os.popen('python helloworld.py').read() # Also gets you the stdout
인수 포함 :
os.popen('python helloworld.py arg').read()
사전 사용 : 하위 프로세스
import subprocess
subprocess.call(['python', 'helloworld.py']) # Just run the program
subprocess.check_output(['python', 'helloworld.py']) # Also gets you the stdout
인수 포함 :
subprocess.call(['python', 'helloworld.py', 'arg'])
자세한 내용은 문서를 읽으십시오 :-)
이 기본으로 테스트되었습니다 helloworld.py
.
import sys
if len(sys.argv) > 1:
print(sys.argv[1])
exec
Python3 위해
IDLE 셸 창은 터미널 셸 (예 : 실행 중 sh
또는 bash
) 과 동일하지 않습니다 . 오히려 파이썬 대화 형 인터프리터 ( python -i
) 에있는 것과 같습니다 . IDLE에서 스크립트를 실행하는 가장 쉬운 방법 Open
은 File
메뉴 의 명령 (실행중인 플랫폼에 따라 약간 다를 수 있음)을 사용하여 스크립트 파일을 IDLE 편집기 창에로드 한 다음 Run
-> Run Module
명령 (바로 가기 F5).
sys.argv
은 프로그램의 맨 처음에 (예 : 일반적인 if __name__ == "__main__"
상용구 에서) 수동으로 초기화 하는 것 입니다.
Run
-> Run with Customized...
명령 (단축키 Shift + F5)을 사용하면 인수를 제공 할 수있는 팝업이 열립니다. 불행히도 현재 그것들을 기억하지 못하기 때문에 매번 실행할 때마다 붙여 넣을 것입니다.
execFile('helloworld.py')
나를 위해 일을합니다. 주의 할 점은 Python 폴더 자체에없는 경우 .py 파일의 전체 디렉터리 이름을 입력하는 것입니다 (최소한 Windows의 경우).
예를 들면 execFile('C:/helloworld.py')
예를 들면 :
import subprocess
subprocess.call("C:\helloworld.py")
subprocess.call(["python", "-h"])
subprocess.call(r'c:\path\to\something.py')
나를 위해 작동하지 않습니다. OSError : [WinError 193] % 1은 (는) 유효한 Win32 응용 프로그램이 아닙니다
Idle과 같은 Python 셸 또는 Django 셸에서 python 스크립트를 실행하려면 exec () 함수를 사용하여 다음을 수행 할 수 있습니다. Exec ()은 코드 객체 인수를 실행합니다. Python의 코드 객체는 단순히 컴파일 된 Python 코드입니다. 따라서 먼저 스크립트 파일을 컴파일 한 다음 exec ()를 사용하여 실행해야합니다. 쉘에서 :
>>>file_to_compile = open('/path/to/your/file.py').read() >>>code_object = compile(file_to_compile, '<string>', 'exec') >>>exec(code_object)
나는 이것을 테스트했고 약간 작동합니다.
exec(open('filename').read()) # Don't forget to put the filename between ' '
Windows 환경에서는 다음 구문을 사용하여 Python3 셸 명령 줄에서 py 파일을 실행할 수 있습니다.
exec (open ( 'file_name의 절대 경로') .read ())
아래는 파이썬 셸 명령 줄에서 간단한 helloworld.py 파일을 실행하는 방법을 설명합니다.
파일 위치 : C : /Users/testuser/testfolder/helloworld.py
파일 내용 : print ( "hello world")
다음과 같이 Python3.7 Shell에서이 파일을 실행할 수 있습니다.
>>> import os
>>> abs_path = 'C://Users/testuser/testfolder'
>>> os.chdir(abs_path)
>>> os.getcwd()
'C:\\Users\\testuser\\testfolder'
>>> exec(open("helloworld.py").read())
hello world
>>> exec(open("C:\\Users\\testuser\\testfolder\\helloworld.py").read())
hello world
>>> os.path.abspath("helloworld.py")
'C:\\Users\\testuser\\testfolder\\helloworld.py'
>>> import helloworld
hello world
대안이 하나 더 있습니다 (Windows 용)-
import os
os.system('py "<path of program with extension>"')
helloworld.py
생겼습니까?