2016-11-25 2 views
0

특정 파일의 이름이 파이썬의 키워드 인 불행한 경우가 있습니다. 파일의 이름을 바꾸지 않고 "우회"할 수있는 방법이 있습니까?"z"가 파이썬 키워드 일 때 "from x.y.z import a"하는 방법?

from "libraries.import" import my_function 
from libraries."import" import my_function 
from libraries import import.my_function 
from repr(libraries.import) import my_function 
from `libraries.import` import my_function # deprecated 
import libraries.import.my_function 
: 나는 몇 가지 시도 " .import"일부

에서

E999 - SyntaxError: invalid syntax 

포인트 :

libraries/import.py

my_function()

from libraries.import import my_function 

주는 기능을 가지고있다

하지만 모두 같은 결과가 있습니다 : SyntaxError.

파이썬 매뉴얼에서 팁을 찾을 수 없지만 예약 된 이름을 사용하는 것에 대한 경고도 없습니다 : 가능합니까? 방법?

+0

python reserve 키워드로 파일 이름을 지정하는 것은 좋지 않습니다.'import importlib; my_function = importlib.import_module ('libraries.import'). my_function' – Skycc

답변

5

서브 모듈의 이름을 변경하는 것을 재검토해야합니다.이를 얻으려면 importlib에 의존 할 필요가있을뿐만 아니라 사람들을 혼란스럽게 할 수 있습니다.

방금 ​​ importlib에서 import_module을 사용할 수 가져 오려면, 즉 :

from importlib import import_module 

m = import_module('libraries.import') 

당신은 또한 전역 범위에 기능을 결합 싶어 경우 :

globals()['my_function'] = import_module('libraries.import').my_function 

하지만 당신은 볼 수 있습니다 얼마나 못 생겼어. 당신이 시도

모든 대안 중 하나 문법 (즉 import "libraries.import" 또는 import libraries."import")에서 직접 사용할 수 없습니다 또는 그들은 그것을 Pythons keywords 중 하나가 사용되는 것을 감지 된 구문 분석 단계에서 거부 얻을.

+2

그래, 이름을 변경하는 것이 좋습니다. –