골란에 주어진 파일 "directory/subdirectory/file.txt"
을 열려고합니다. OS에 영향을받지 않는 방법 (예 : Windows의 백 슬래시, Mac 및 Linux의 슬래시)에서 이러한 경로를 표현하는 권장 방법은 무엇입니까? 파이썬의 os.path
모듈과 같은 것?이동 경로에 교차 플랫폼 파일 경로는 어떻게 만듭니 까?
답변
OS 특정 경로를 만들고 조작하려면 os.PathSeparator
과 path/filepath
패키지를 직접 사용하십시오.
대체 방법은 프로그램 전체에 항상 '/'
및 path
패키지를 사용하는 것입니다. path
패키지는 OS와 관계없이 경로 구분 기호로 '/'
을 사용합니다. 파일을 열거 나 만들기 전에 /를 분리 한 경로를 filepath.FromSlash(path string)
을 호출하여 OS 관련 경로 문자열로 변환합니다. OS에 의해 반환 된 경로는 filepath.ToSlash(path string)
을 호출하여/분리 된 경로로 변환 할 수 있습니다.
go에는 파일 경로 결합 및 분할을위한 path
패키지가 있지만 사용하지 않아도됩니다. Go는 보편적 인 분리 자로 슬래시를 처리합니다. "directory/subdirectory/file.txt"
은 런타임 운영 체제와 상관없이 올바르게 열립니다.
path
대신 path/filepath
을 사용하십시오. path
은 슬래시로 구분 된 경로 (예 : URL에 사용 된 경로) 만 사용하고 path/filepath
은 다른 운영 체제에서 경로를 조작합니다.
정답으로 표시해야하며 이해하기 쉽습니다. 어디서나 파일 경로를 사용하고 이익을 얻으십시오! – QtRoS
- 1. 임의 경로는 어떻게 만듭니 까?
- 2. MVC3에서 간단한 경로는 어떻게 만듭니 까?
- 3. 파일의 전체 경로가 주어지면 파일 이름이없는 경로는 어떻게 만듭니 까?
- 4. 컨테이너 파일은 어떻게 만듭니 까?
- 5. 이 Apple 사이트와 같은 탐색 경로는 어떻게 만듭니 까?
- 6. Rails3 - routing : 데이터베이스 기반 항목의 루트 경로는 어떻게 만듭니 까?
- 7. Kohana 3.3 : admin 하위 디렉토리에 대한 경로는 어떻게 만듭니 까?
- 8. 수동으로 $ _FILES 파일 객체를 어떻게 만듭니 까?
- 9. CruiseControl.Net에서 속성을 어떻게 만듭니 까?
- 10. String에서 org.xml.sax.InputSource를 어떻게 만듭니 까?
- 11. .wsgi 파일은 어떻게 만듭니 까?
- 12. 바이너리 패치는 어떻게 만듭니 까?
- 13. FireMonkey로 트레이 아이콘을 어떻게 만듭니 까?
- 14. 사전 항목은 어떻게 만듭니 까?
- 15. 새 ForwardingCache는 어떻게 만듭니 까?
- 16. Perl 클래스는 어떻게 만듭니 까?
- 17. Catalyst에서 세션을 어떻게 만듭니 까?
- 18. 게임 바닥을 어떻게 만듭니 까?
- 19. 페이지 템플리트는 어떻게 만듭니 까?
- 20. 싱글턴 IEnumerable은 어떻게 만듭니 까?
- 21. 이 RouteData는 어떻게 만듭니 까?
- 22. Monotouch에서 글꼴을 어떻게 만듭니 까?
- 23. 이벤트 구독자는 어떻게 만듭니 까?
- 24. EDM에서 데이터베이스를 어떻게 만듭니 까?
- 25. 자식 NSManagedObjectContext를 어떻게 만듭니 까?
- 26. 소셜 그래프는 어떻게 만듭니 까?
- 27. JSON Array는 어떻게 만듭니 까?
- 28. 빈 op_array는 어떻게 만듭니 까?
- 29. gitosis에서 머리를 어떻게 만듭니 까?
- 30. 모바일 사이트는 어떻게 만듭니 까?
Windows에서 사용해 보셨습니까? –
@Atom 저는 Windows 컴퓨터를 소유하고 있지 않습니다. [Russ Cox가 Go는 '/'를 모든 플랫폼의 경로 구분 기호로 취급합니다.] (http://groups.google.com/group/golang-nuts/browse_thread/thread/5527660c2d860ca3), 나에게 충분히 좋은 것 같습니다. – Jjed
Russ님께 서 2010-01-09에이 의견을 남겼습니다. 그 이후로 경로 처리에 몇 가지 변경 사항이 있습니다. http://golang.org/doc/devel/weekly.html#2011-03-07 –