Próbuję wyodrębnić określony plik z archiwum zip przy użyciu Pythona.Wyodrębnij konkretny plik z archiwum zip bez zachowania struktury katalogów w pythonie
W takim przypadku wyodrębnij ikonę pliku APK z samego pliku APK.
Obecnie używam
ziphandle = open(tDir + mainapk[0],'rb') #`pwd`/temp/x.apk
zip = zipfile.ZipFile(ziphandle)
zip.extract(icon[1], tDir) # extract /res/drawable/icon.png from apk to `pwd`/temp/...
który działa w moim katalogu skryptu to tworzenie temp/res/drawable/icon.png
który jest temperatura plus sama ścieżka jako plik znajduje się wewnątrz apk.
To, czego naprawdę chcę, to skończyć z temp/icon.png.
Czy jest jakiś sposób zrobienia tego bezpośrednio za pomocą polecenia zip, czy muszę wyodrębnić, a następnie przenieść plik, a następnie ręcznie usunąć katalogi?
zarówno bardzo ładne odpowiedzi, znacznie bardziej wymowne niż po prostu przesuwając go jak ja. Drobna poprawka pasująca do zadanego pytania, jest z otwartym (os.path.join (tDir, os.path.basename (icon [1])), "wb") jako f: tak, że ikona wyjścia znajduje się w katalogu temp, nie cwd() gdzie jest skrypt. Dzięki – o0rebelious0o