주어진 디렉토리에서 추출해야하는 디렉토리가있는 tar 아카이브가 있습니다. 는 예를 들어 추출/A/디렉토리 : I는 I는 예를 들어 주어진 타겟 디렉토리를 추출 할 타르 아카이브 디렉토리주어진 디렉토리에서 디렉토리 경로가있는 모든 파일을 추출합니다.
TarPrefix/X/Y/Z
을 디렉토리 TarPrefix/x/y/z에 들어있는 모든 파일과 디렉토리를 포함해야합니다.
subdir_and_files = [ tarinfo for tarinfo in tar.getmembers()
if tarinfo.name.startswith("subfolder/")
]
은 "/ 하위 폴더"디렉토리 경로에있는 모든 구성원의 목록을 얻으려면 다음 나는
tar.extractall(extracted/a,subdir_and_files)
를 사용하여 추출하지만, 예를 들어 자신의 디렉토리 경로와 모든 구성원을 추출하고이 결과 추출에가// x/y/z. 해당 폴더에서 이러한 파일을 추출하는 데 도움을주십시오. 이미 답을 발견 할 수 있습니다처럼
나도 몰라,하지만이 질문은 일종의 당신의 반대의 것 같다 : HTTP : //stackoverflow.com/questions/2239655/python-tarfile-adding-files-without-directory-hiearchy 아마도 extractall() 대신 extractall()을 사용하고 TarInfo 객체를 수정하여 어떤 일이 발생하는지 확인할 수 있습니다. subdir_and_files에 들어 있니? –
초급자의 질문에 사과드립니다. 나는 파이썬에서 초보자이며 구글에 대한 답변을 찾지 못했습니다. 그런 질문을 한 이유입니다. 다른 사람들을 돕기 위해이 질문에 답하고 싶습니다. tarinfo.name 속성 값을 올바른 값으로 변경하기 만하면됩니다. 즉 주어진 예제에서'tarinfo.name = tarinfo.name [len (Tarprefix/x/y/z) :]'와 같은 코드를 사용하면됩니다. – gaurav
나는 내 자신의 질문에 대답하려고 노력했지만 8 시간이 될 때까지 기다릴 수 없었습니다. – gaurav