2017-10-25 8 views
0

Python 3.x로 실행되는 python 스크립트에서 Python 2.7로 실행되는 다른 python 스크립트를 가져 오는 경우 해당 특정 스크립트를 가져올 때 Python 2.7 인터프리터를 사용하도록 프로그램을 지정할 수 있습니까? 가져 오는 중입니다 "anotherfile27.py"로Python 3.x를 사용하는 스크립트에서 Python 2.7을 사용하여 다른 스크립트를 가져 오는 중, 해당 특정 스크립트를 가져올 때 별도로 2.7로 실행하는 방법은 무엇입니까?

 
import anotherfile27 

곧 파이썬 3.x를 실행이 "mainfile.py"에서

, 모든 것이 자동으로 실행됩니다 "anotherfile27.py"필요에있는 아무 기능을하지 "mainfile.py"에서 재사용 할 수 있습니다. 나중에 사용할 수 있도록 여러 .csv 스크립트 만 생성됩니다.

"anotherfile27.py"를 실행할 때만 인터프리터를 파이썬 3에서 파이썬 2.7로 변경하도록 프로그램에 "anotherfile27.py"또는 "mainfile.py"내에 코드 줄을 쓸 수 있습니까?

+1

당신은 하위 프로세스로 다른 스크립트를 실행할 수 있습니까? – Eric

+2

['subprocess'] (https://docs.python.org/3/library/subprocess.html#module-subprocess) 모듈을 사용하여 실행할 수 있습니다. 2.7 .py 파일 이름과 함께 원하는 인터프리터를 인수로 지정하십시오. 당신은'import'를 통해 그것을 할 수 없습니다. – martineau

+1

직접 - 짧은 대답은 "아니오"입니다. 'import'는 모듈을 현재 인터프리터로로드하고 컴파일합니다. 다른 모듈을 쉽게 포팅 할 수 없다면 다른 방법을 찾아야 할 것입니다. –

답변

0

여기에 기본 예제 :

import subprocess 
import platform 

print("Running ", platform.python_version()) 
old_version = subprocess.check_output("python2 --version", encoding="utf-8") 
print("Old version", old_version)