programing tip

IDLE 대화 형 쉘에서 파이썬 스크립트를 실행하는 방법은 무엇입니까?

itbloger 2020. 9. 1. 07:19
반응형

IDLE 대화 형 쉘에서 파이썬 스크립트를 실행하는 방법은 무엇입니까?


IDLE 대화 형 쉘 내에서 파이썬 스크립트를 어떻게 실행합니까?

다음은 오류를 발생시킵니다.

>>> python helloworld.py
SyntaxError: invalid syntax

Python2 내장 함수 : execfile

execfile('helloworld.py')

일반적으로 인수로 호출 할 수 없습니다. 그러나 여기에 해결 방법이 있습니다.

import sys
sys.argv = ['helloworld.py', 'arg']  # argv[0] should still be the script name
execfile('helloworld.py')

Python3 : exefile의 대안 :

exec(open('helloworld.py').read())

전역 / 로컬 변수 전달에 대해서는 https://stackoverflow.com/a/437857/739577참조 하십시오 .


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])

python3에서 이것을 사용할 수 있습니다.

exec(open(filename).read())

IDLE 셸 창은 터미널 셸 (예 : 실행 중 sh또는 bash) 과 동일하지 않습니다 . 오히려 파이썬 대화 형 인터프리터 ( python -i) 에있는 것과 같습니다 . IDLE에서 스크립트를 실행하는 가장 쉬운 방법 OpenFile메뉴 명령 (실행중인 플랫폼에 따라 약간 다를 수 있음)을 사용하여 스크립트 파일을 IDLE 편집기 창에로드 한 다음 Run-> Run Module명령 (바로 가기 F5).


이 시도

import os
import subprocess

DIR = os.path.join('C:\\', 'Users', 'Sergey', 'Desktop', 'helloword.py')

subprocess.call(['python', DIR])

execFile('helloworld.py')나를 위해 일을합니다. 주의 할 점은 Python 폴더 자체에없는 경우 .py 파일의 전체 디렉터리 이름을 입력하는 것입니다 (최소한 Windows의 경우).

예를 들면 execFile('C:/helloworld.py')


가장 쉬운 방법

python -i helloworld.py  #Python 2

python3 -i helloworld.py #Python 3

예를 들면 :

import subprocess

subprocess.call("C:\helloworld.py")

subprocess.call(["python", "-h"])

Python 3에는 execFile. exec내장 함수를 사용할 수 있습니다 . 예를 들면 다음과 같습니다.

import helloworld
exec('helloworld')

IDLE에서는 다음과 같은 작품이 있습니다.

import helloworld

I don't know much about why it works, but it does..


To run a python script in a python shell such as Idle or in a Django shell you can do the following using the exec() function. Exec() executes a code object argument. A code object in Python is simply compiled Python code. So you must first compile your script file and then execute it using exec(). From your shell:

>>>file_to_compile = open('/path/to/your/file.py').read()
>>>code_object = compile(file_to_compile, '<string>', 'exec')
>>>exec(code_object)

I'm using Python 3.4. See the compile and exec docs for detailed info.


you can do it by two ways

  • import file_name

  • exec(open('file_name').read())

but make sure that file should be stored where your program is running


I tested this and it kinda works out :

exec(open('filename').read())  # Don't forget to put the filename between ' '

On Windows environment, you can execute py file on Python3 shell command line with the following syntax:

exec(open('absolute path to file_name').read())

Below explains how to execute a simple helloworld.py file from python shell command line

File Location: C:/Users/testuser/testfolder/helloworld.py

File Content: print("hello world")

We can execute this file on Python3.7 Shell as below:

>>> 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

참고URL : https://stackoverflow.com/questions/17247471/how-to-run-a-python-script-from-idle-interactive-shell

반응형