나는 임베디드 파이썬 2.6 인터프리터가 포함 된 프로그램을 가지고있다. 내가 통역을 호출 할 때,이 같은 ... PySys_SetPath은() 내 파이썬 스크립트 파일을 포함 내 실행 파일 옆에 설치된 서브 디렉토리에 인터프리터의 수입 경로를 설정하기 위해 호출파이썬에 콜론이 포함 된 경로를 사용하는 방법은 무엇입니까?
PySys_SetPath("/path/to/my/program/scripts/type1:/path/to/my/program/scripts/type2");
을 (경로 것을 제외 문자열은 위의 예제 에서처럼 하드 코딩되지 않은 내 프로그램의 실행 파일의 현재 위치를 기반으로 동적으로 생성됩니다.)
영리한 사용자가 내 프로그램을 설치할 폴더 아래에 그 이름의 콜론. 때문에 지금은 파이썬을
PySys_SetPath("/path:to/my/program/scripts/type1:/path:to/my/program/scripts/type2");
... 이것은 내 모든 파이썬 스크립트를 나누기 :이 경우, 내 PySys_SetPath() 명령 ("경로"라는 이름의 폴더의 존재를주의)이처럼 보이는 끝 "/ path : to/myprogram/scripts/type1"대신에 "/ path"와 "to/my/program/scripts/type1"에서 스크립트 파일을 찾으며 import 문도 작동하지 않습니다.
제 질문은 폴더 이름에 콜론을 사용하지 않도록 사용자에게 알려주는 것 외에 다른 문제가 있습니까?
Python/sysmodule.c의 makepathobject() 함수를 살펴 보았지만 리터럴 콜론을 처리하기 위해 어떤 종류의 인용이나 이스케이프도 지원하지 않는 것 같습니다.하지만 어쩌면 약간의 뉘앙스가 누락되었습니다.
콜론을 백 슬래시로 이스케이프 해 보셨습니까? 그래서'PySys_SetPath (r "/ path \ : ~/my/program/scripts/type1 :/path \ : ~/my/program/scripts/type2");'와 같은 것입니다. –