Maison > Article > développement back-end > Comment décompresser des fichiers ZIP protégés par mot de passe dans Go 1.2 à l'aide de 7zip ?
Décompression de fichiers ZIP protégés par mot de passe dans Go 1.2
Le package os/exec offre un moyen pratique d'interagir avec les commandes externes. Pour décompresser des fichiers ZIP cryptés à l'aide de 7zip dans Go 1.2, considérez ce qui suit :
Le package archive/zip fournit une fonctionnalité de base de manipulation ZIP. Au lieu de l'utiliser pour extraire des fichiers ZIP protégés par mot de passe, vous pouvez utiliser 7zip via os/exec.
Voici une 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>
Exemple de programme avec 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>
Sortie :
# 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.
Cette approche vous permet de décompresser des fichiers ZIP protégés par mot de passe à l'aide de 7zip dans Go 1.2.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!