인터프리터 내에서 파이썬 명령으로 파일을 실행하려고 합니다.
편집 : 별도의 프로세스를 호출하는 것이 아니라 해당 파일의 변수와 설정을 사용하려고합니다.
파이썬 2의 경우:
>>> execfile('filename.py')
파이썬 3의 경우:
>>> exec(open("filename.py").read())
# or
>>> from pathlib import Path
>>> exec(Path("filename.py").read_text())
해당 문서](http://docs.python.org/library/functions.html#execfile)를 참조하세요. Python 3.0을 사용하는 경우 이 질문을 참조하세요.
filename.py를 실행한 후 전역에 액세스하는 방법에 대한 예는 @S.Lott의 답변을 참조하세요.
여러 가지 방법이 있습니다.
셸에서
python someFile.py
IDLE 내부에서 F5를 누릅니다.
대화형으로 입력하는 경우 다음과 같이 입력하세요(파이썬 2만 해당!).
>>> variables= {}
>>> execfile( "someFile.py", variables )
>>> print variables # globals from the someFile module
파이썬3의 경우, 사용하세요:
>>> exec(open("filename.py").read())
exec(open("./path/to/script.py").read(), globals())
이렇게 하면 모든 it& # 39 의 스크립트입니다 실행하십시오 하고, 글로벌 변수에 interpreter& # 39 의 글로벌 범위 (일반 비헤이비어를 대부분의 스크립팅 환경).
[파이썬 3 '실행' 문서용으로] (https://docs.python.org/3/library/functions.html # exec)
별도의 프로세스를 호출하는 것이 아니라 해당 파일의 변수와 설정을 사용하려고 합니다.
파일 이름 가져오기로 파일을 가져오기만 하면(.py를 빼고, 같은 디렉토리 또는
pythonpath에 있어야 함) 파일이 실행되어 해당 변수, 함수, 클래스 등을
filename.variable` 네임스페이스에서 사용할 수 있게 됩니다.
따라서 변수가 스팸이고 함수가 달걀인 cheddar.py
가 있는 경우 import cheddar
로 이를 가져오고, cheddar.spam
으로 변수에 액세스한 다음 cheddar.eggs()
를 호출하여 함수를 실행할 수 있습니다.
함수 외부에 있는 코드가 cheddar.py
에 있으면 즉시 실행되지만, 가져올 때 실행하는 애플리케이션을 구축하면 코드를 재사용하기 어렵습니다. 가능하면 모든 것을 함수나 클래스 안에 넣으세요.
From my 보기인 최선의 방법은 다음과 같습니다.
import yourfile
수정 후 yourfile.py
reload(yourfile)
또는
import imp;
imp.reload(yourfile) in python3
그러나 이 발쿰치로 함수 및 클래스뿐만 있는 것처럼 보인다. yourfile.class1. yourfile.function1,
이러한 받아들일 수 없는 경우 finally 솔루션은:
reload(yourfile)
from yourfile import *
Just do,
from my_file import *
Py 추가하지 않는 smartupdate 확장자입니다. Py 파일로 사용할 경우, 하위
from my_dir.my_file import *