Heim > Artikel > Backend-Entwicklung > Wie entpacke ich passwortgeschützte ZIP-Dateien in Go 1.2 mit 7zip?
Passwortgeschützte ZIP-Dateien in Go 1.2 entpacken
Das Paket os/exec bietet eine praktische Möglichkeit, mit externen Befehlen zu interagieren. Beachten Sie beim Entpacken verschlüsselter ZIP-Dateien mit 7zip in Go 1.2 Folgendes:
Das Archiv-/Zip-Paket bietet grundlegende ZIP-Manipulationsfunktionen. Anstatt es zum Extrahieren passwortgeschützter ZIP-Dateien zu verwenden, können Sie 7zip über os/exec verwenden.
Hier ist eine Illustration:
<code class="go">import ( "fmt" "os/exec" "strings" ) func extractZipWithPassword() { fmt.Printf("Unzipping `%s` to directory `%s`\n", zipPath, extractPath) commandString := fmt.Sprintf(`7za e %s -o%s -p"%s" -aoa`, zipPath, extractPath, zipPassword) commandSlice := strings.Fields(commandString) fmt.Println(commandString) c := exec.Command(commandSlice[0], commandSlice[1:]...) e := c.Run() checkError(e) }</code>
Beispielprogramm mit 7zip
<code class="go">package main import ( "fmt" "os" "os/exec" "path/filepath" "strings" ) var ( // Your variables and paths... ) func main() { fmt.Println("# Setup") //... fmt.Println("# Answer to question...") extractZipWithPassword() //... fmt.Println("Done.") }</code>
Ausgabe:
# Setup # Answer to question... Unzipping `test/src/sample.zip` to directory `test/extracted` 7za e test/src/sample.zip -otest/extracted -p"42" -aoa Reading test/extracted/name.txt Done.
Mit diesem Ansatz können Sie passwortgeschützte ZIP-Dateien mit 7zip in Go 1.2 entpacken.
Das obige ist der detaillierte Inhalt vonWie entpacke ich passwortgeschützte ZIP-Dateien in Go 1.2 mit 7zip?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!