2012-02-14 2 views
-1

Linux/Windows 시스템 간의 호환성을 최대로 유지하도록 코딩 된 Python 스크립트에서 경로를 결합 할 때 다음을 사용했습니다.독립적으로 경로를 구성하는 OS

path = join(dirname(__file__),'..','..','folder','destination') 

그것은 Linux에서 완벽하게 작동하지만, 이제 Windows에서이 기능을 실행할 때 단지 하나 대신 이중 \\을 추가합니까? 나는 이것을 어딘가에서 언급 한 것을 본 것이 틀림 없다.하지만 지금은 발견 할 수 없다. (예 : C : \ program files \ folder \) 이로 인해 스크립트에 오류가 발생하여 해당 파일이나 디렉토리를 찾을 수 없습니다.

편집 : 그리고 내가 실제로이 모든 작업을 수행했기 때문에 어떤 해결책도 찾을 수없는 이유는 로그 오류를 출력하는 로거 모듈이 실제로 이중 슬래시를 추가했기 때문에 오류가 시도와 관련이 있다는 것입니다. catch를 사용했기 때문에 위의 라인은 리눅스/윈도우에서 완벽하게 작동합니다.

+1

가능한 중복 [Windows의 이상한 경로 구분 기호] (http://stackoverflow.com/questions/6928789/strange-path-separators-on-windows) – Marcin

+0

나는 꽤 많이했다. 슬프게도 나는 단어 분리 기호를 사용하지 않았다. 나는 경로 검색 쿼리를 좀 더 구체적으로보고 있었다. 유용한 결과를 얻지 못했다. – Draineh

+0

또한이 링크는 문자열과 관련이 있지만 내 쿼리와 관련이 없다. 나는 os.path에서 사용하고있는 조인 함수를 이해하고 나를위한 경로를 만들고 슬래시를 처리합니다. – Draineh

답변

3

os.path.join 아마도 당신이 파이썬 문서에서 찾고 있었던 것입니다.

+0

그게 내가 위의 예에서 사용하고있는 것이다. – Draineh

+0

내 언어가 섞여서 나쁘다 ... 질문에서 내 첫눈이 너에게 제안했다. 'string.join'을 사용하고있었습니다. 우리가해야만하는 것이 입력 할 때'os.path.join'을 명시 적으로 언급하면 ​​도움이 될 것입니다.) – istruble

+0

죄송합니다. 나는 내가 어리석은 무엇인가했다라고 생각하고 있었다. 그리고 누군가 그것이 그것을 설명했던 interwebs 위에서 무엇이라도 발견 할 수 없었던 것에 따라 그것을 곧바로 발견 할 것이 어서, 그것은 완전히 일하고 있었다고 판명되었다, 위의 나의 편집. – Draineh

관련 문제