특정 응용 프로그램 (Win7, python 2.7)에서 serial
을 대체하는 시뮬레이션 클래스를 개발하려고합니다.파일 이름 충돌로 가져 오기
나는 애플 리케이션의 숫자에서 작동하는 SerialHandle
클래스를 가지고있다. 그것은 잘 알려진 시리얼 메소드에 로직을 추가하고, 아이디어는 파이썬 serial.py
을 같은 이름의 더미 파일로 대체하는 것이었다. 변경 및 가져 오기는 SerialHandle
입니다. 이제
난 그냥 기원 같은 Serial
클래스이 파일을 가지고 있고 그것을 잘 작동합니다 :
serial.py
...Serial()
난 정말 방법을 시뮬레이션하기 원하기 때문에 내가 SerialException
serialutil
에서 나의 serial.py 난 안에 필요
from serial import SerialException
을하지만 난이 인상을 얻을 것이다 예상대로 from serial
는 리터로 이동 이후 : 노력하고있어 것은 사용하여 가져 처음 OCAL 파일 :
Traceback (most recent call last):
File "C:/CROW/ATE/DUTDrivers/DD_SimulatorExample/DD_SimulatorExample.py", line 18, in <module>
from Utilities.Serial.SerialHandle.trunk.SerialHandle import SerialHandle
File "C:\CROW\ATE\Utilities\Serial\SerialHandle\trunk\__init__.py", line 4, in <module>
from Utilities.Simulator import serial
File "C:\CROW\ATE\Utilities\Simulator\serial.py", line 11, in <module>
from serial import SerialException
ImportError: cannot import name SerialException
나는
내가 sys.append(site-packages....serial.py)
행운 시도했다 ... 그것은 작동 다른 파일에 있기 때문에 문제가 파일 이름입니다 이해합니다.
질문 :
특정 from..import에서 로컬 파일을 무시하도록 인터프리터를 알 수있는 방법?
절대 경로에서 가져 오는 다른 방법이 있습니까?
참고 :이
serial.py
와 파일 이름 지정이 그렇게 이름을 변경 정의되지 관련의 결정 아니지만 ... 파이썬 시리얼 과부하가 아닌 옵션도 있습니다 ...
파이썬 소스 코드에서 SerialException을 복사하여 모듈에 붙여 넣는 것은 어떻습니까? – furins
@furins 그것은 확실하게 작동 할 것입니다. 왜냐하면 제가 우아한 해결책이 있는지 궁금해서이 질문을 던졌기 때문입니다 ... –
그러면이 접근법은 당신이 찾고있는 것이어야합니다 : http://stackoverflow.com/questions/6031584/python-importing-from-builtin-library-when-same-name-exists? rq = 1 (승인 된 응답) – furins