Seite 1 von 1
Python & .7z/.rar
Verfasst: Mittwoch 17. Mai 2006, 09:10
von rumilmirion
Tag allesamt. Ich brauche Module, die mit 7zip und rar-archiven umgehen können - gibt es so was schon, oder müsste ich mir das selber schreiben?
Re: Python & .7z/.rar
Verfasst: Mittwoch 17. Mai 2006, 10:05
von gerold
rumilmirion hat geschrieben:Ich brauche Module, die mit 7zip und rar-archiven umgehen können
Hi!
http://www.joachim-bauch.de/projects/python/pylzma/
http://www.7-zip.org/7z.html
mfg
Gerold

Verfasst: Mittwoch 17. Mai 2006, 11:20
von rumilmirion
Danke vielmals für die Links - für rar ist nichts bekannt? Finde selber leider auch nichts.
Verfasst: Mittwoch 17. Mai 2006, 18:15
von Joghurt
RAR ist kein freies Format. Es gibt zwar einen Open Source Decoder, aber der kann glaube ich nicht alles. Und von Pythonbindings hab ich noch nichts gehört.
Verfasst: Donnerstag 18. Mai 2006, 09:49
von rumilmirion
Joghurt hat geschrieben:RAR ist kein freies Format. Es gibt zwar einen Open Source Decoder, aber der kann glaube ich nicht alles. Und von Pythonbindings hab ich noch nichts gehört.
Ja, war mir bewusst, aber hatte halt gehofft.
Verfasst: Donnerstag 18. Mai 2006, 11:29
von Mr_Snede
Naja vielleicht hilft dir da (p)7zip. Hatte mich beim Installieren letztens über die Menge der unterstützten Kompressionsverfahren incl rar gewundert. (dachte es würde nur 7zip unterstützt)
apt-cache show p7zip
Package: p7zip
Version: 4.33.dfsg-1
Architecture: i386
Description: [...] The program supports 7z [...], ZIP, Zip64, CAB, RAR, ARJ, GZIP, BZIP2, TAR, CPIO, RPM and
DEB formats.
[...]
Non-free p7zip-rar extractor is available at
http://adn.diwi.org/debian/p7zip-ra
Speziell der letzte Abschnitt könnte dir weiterhelfen.
Ich habe keine Ahnung ob das irgendwie mit den Pythonbindings funktioniert, ist eher eine Idee.
cu Sebastian
Verfasst: Donnerstag 18. Mai 2006, 11:37
von rumilmirion
Das Program 7zip hab ich schon - würde es halt gerne von Python aus machen (nicht über externes Program) damit auch Leute ohne dieses Program mein Python-Program nützen können. Der Link ist leider tot (Fehler 404), aber trotzdem danke.
Verfasst: Donnerstag 18. Mai 2006, 11:44
von Mr_Snede
so lautet der Link richtig:
http://adn.diwi.org/debian/p7zip-rar
Habe bei copy'n paste das letzte "r" abgeschnitten.
Ich kann deinen Wunsch verstehen - befürchte aber dass du da an unfreier Software scheitern wirst.
Du hast keine Chance um die rar Archive herumzukommen? gibt ja genug andere Formate.
cu Sebastian
Verfasst: Donnerstag 18. Mai 2006, 11:49
von rumilmirion
Befürchte nicht - will das Program benutzen, um Dateien an ihren richtigen Ort zu kopieren. Diese Dateien kommen zu 75% als rar-archive, also ohne dass wär's einigermassen sinnlos.
Verfasst: Donnerstag 18. Mai 2006, 12:09
von Mr_Snede
Naja irgendwer muss die rar's ja erstellen, kann man da nicht einhaken und ein anderes Format anfordern?
Blöde Situation sowas.
Verfasst: Donnerstag 18. Mai 2006, 12:30
von rumilmirion
Mr_Snede hat geschrieben:Naja irgendwer muss die rar's ja erstellen, kann man da nicht einhaken und ein anderes Format anfordern?
Blöde Situation sowas.
Eher nicht. Sind im Internet stehende Mods von den verschiedensten Leuten gemacht und es gibt ein paar Tausend davon - glaube kaum, dass die allesamt ihre Mods neu packen, nur weil ich frage.
Verfasst: Donnerstag 18. Mai 2006, 12:53
von gerold
rumilmirion hat geschrieben:glaube kaum, dass die allesamt ihre Mods neu packen, nur weil ich frage.
Hi rumilmirion!
Es muss ja nicht zwanghaft alles in Python eingebunden werden. Greife einfach auf ein fertiges Programm zu. Verwende dafür os.System., os.spawn, os.popen, subprocess usw.
http://gnuwin32.sourceforge.net/packages/unrar.htm
http://www.rarsoft.com/rar_add.htm
Wenn das Programm im gleichen Ordner liegt, dann könnte der Aufruf so aussehen:
Code: Alles auswählen
import os
programmname = "irgendeine.exe"
parameter = '--erster --zweiter --namex="super.txt" dateiname.txt'
os.spawnl(
os.P_WAIT,
programmname,
programmname + ' ' + parameter
)
mfg
Gerold

Verfasst: Donnerstag 18. Mai 2006, 13:23
von jens
Da darf mein Link nicht fehlen: [wiki]Neue Features#Subprocess[/wiki]