ich in jedem von 500 ZipFiles nur eine Unterdatei benötigen, die Wege sind die gleichen, wie:Wie kopiere ich eine Datei in einer Zip-Datei in ein bestimmtes Verzeichnis?
120132.zip/A/B/C/target_file
212332.zip/A/B/C/target_file
....
Wie kann ich alle diese Zieldateien in ein Verzeichnis kopieren? die gesamten Wege in das neue Verzeichnis zu halten wird die beste sein, was ich meine, ist:
target_dir/
120132/A/B/C/target_file
212332/A/B/C/target_file
......
Ich versuchte es mit Python-Modulen zipfile und shutil
jedoch kopie von shutil nimmt den gesamten Pfad als Argument, aber wenn ich versuchte, die Zieldatei direkt zu kopieren, wird es feilenotfind Fehler auslösen. Beim Entpacken durch die Datei zipfile.Zipfile wird auf die Zieldatei zugegriffen, aber copyfile wird ungültig.
Wie kann ich das richtig und effizient machen?
Ja! Das ist total was ich will! extract() macht Sinn. Vielen Dank! – Spike
Ich laufe auf ein anderes Problem. Ich habe "zf.extract (r" A \ B \ C \ Dateiname ", ..)" unter Windows ausgeführt, aber es ist fehlgeschlagen und hat gesagt: "Es gibt kein Element namens 'A \\\\ B \\\\ C \\ \\Dateiname'". Könnten Sie mir einen Rat geben? @falsetru – Spike
@Spike, Sind Sie sicher, dass alle Zip-Dateien diese Datei enthalten? Schlägt es von Anfang an fehl? Sie müssen es möglicherweise überprüfen, bevor Sie 'extract' aufrufen oder' try ... except ...' verwenden. – falsetru