[Python-de] Re: [Python-de] Re: [Python-de] Äquivalent zu `file`

Dinu Gherman gherman at darwin.in-berlin.de
Fri Oct 25 11:29:44 EDT 2002


Heiner Faber raesonierte wie folgt:

>> Ich behaupte mal frech, so etwas gibt's nicht. Wie sollte man das auch
>> plattformunabhaengig bestimmen? Und auf welcher Plattform willst Du es
>
> Ähm, mit Verlaub: Das ist Blödsinn, da "file" auch bei Dateien anderer
> Plattformen funktioniert.  Wie das mit Python funktioniert, weiß ich
> aber leider (noch) nicht, da ich gerade erst mit Python angefangen
> habe.  Zur Not könnte man ja auch "file" selbst (unter Win32 z.B. den
> cygwin-Port) benutzen.

Der Verlaub sei gestattet, falls ich ein letztes Wort dazu noch sagen
darf? Erstens, habe ich zuvor schon ueber die Moeglichkeit berichtet,
Meta-Information ueber eine Datei innerhalb von *anderen* Dateien zu
platzieren. Zweitens, gibt es meines Wissens nach keinen "MS-offiziel-
len" file-Befehl auf Windosen, sondern nur GNU- Cygwin- oder mks-arti-
ge Aequivalente. Drittens ist nicht gesagt, dass "magic numbers" ueber
Plattformgrenzen hinweg eindeutig sein muessen. Viertens habe ich ein-
mal folgende (gekuerzte) Liste eines Win98-CD-Verzeichnisses mit dem
file-Befehl unter OS X zusammengestellt, wo als "data" so einiges auf-
taucht, was man als Windose-User vermutlich genauer aufteilen moechte.

     dinu% file /Volumes/WIN98\ SE/win98/*
     BASE4.CAB:    data
     EXTRACT.EXE:  MS-DOS executable (EXE)
     FORMAT.COM:   data
     OEMSETUP.BIN: data
     scandisk.pif: data
     setup.txt:    data
     setup0.wav:   Microsoft RIFF, WAVE audio data, 8 bit, stereo 22050 
Hz
     smartdrv.exe: MS-DOS executable (EXE), OS/2 or Windows
     suback.bin:   PC bitmap data, Windows 3.x format, 505 x 450 x 8
     tour:         directory
     w98setup.bin: MS-DOS executable (EXE), OS/2 or Windows
     ...

Wenn man sich all dieser Einschraenkungen bewusst ist, kann man na-
tuerlich trotzdem einen file-Befehl auf allen Plattformen implemen-
tieren, auch in Vanille-Python. Wenn man die Einschraenkungen ir-
gendwie aufhebt, koennte das ein nettes Modul werden...

Dinu

--
Dinu C. Gherman
......................................................................
"Honest disagreement is often a good sign of progress." (Gandhi)





More information about the Python-de mailing list