나는 cmd python 모듈로 놀고 있었고 텍스트 완성 기능을보고있었습니다. 나는 홈 디렉토리에 '~'을 확장/인식하려고했지만 아무 쓸모가 없었습니다.Cmd 모듈 '~'완료
나는 cmd 모듈에서 completedefault(self, *ignored)
메서드를 재정 의하여 기본 완료를 처리 할 수 있다는 것을 알아 냈습니다. 여기서 ignored
은 텍스트, 줄, begidx, endidx의 튜플입니다. 내가 my_command ./folder
명령을 입력하면 text
매개 변수는 './folder'가되며 다음과 같은 것을 할 수 있습니다 : glob.glob(text + '*')
이 폴더의 모든 파일 목록을 반환합니다. 그러나 지금 내가 my_command ~/folder
일 경우 변수에는 /folder
만 포함되므로 os.path.expanduser(text)
을 사용하여 해당 폴더의 절대 경로를 확인하고 해당 폴더의 모든 파일을 표시 할 수 없습니다.
기본적으로 경로를 확장하기 위해 누군가가 올바른 방향으로 나를 가리킬 수 있는지 궁금합니다 (~
). 에서 답변을 확장
관심있는 것을 격리해야합니다. 'expanduser ('~/folder')'는 당신이 원하는 것을 줄 것이다. 'begidx' /'endidx'를 사용할 수 있습니까? – kwatford