Comment utiliser python-magie 5.19-1

J'ai besoin de déterminer MIME-types de fichiers sans suffixe en python3 et j'ai pensé à python-la magie comme une solution appropriée à cet effet.
Malheureusement, il ne fonctionne pas comme décrit ici:
https://github.com/ahupp/python-magic/blob/master/README.md

Voilà ce qui se passe:

>>> import magic
>>> magic.from_file("testdata/test.pdf")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'from_file'

J'ai donc eu un coup d'oeil à l'objet, qui me fournit la classe Magic pour lequel j'ai trouvé de la documentation ici:
http://filemagic.readthedocs.org/en/latest/guide.html

J'ai été surpris, que cela ne fonctionne pas, soit:

>>> with magic.Magic() as m:
...     pass
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __init__() missing 1 required positional argument: 'ms'
>>> m = magic.Magic()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: __init__() missing 1 required positional argument: 'ms'
>>> 

Je ne pouvais pas trouver toutes les informations sur la façon d'utiliser la classe Magic n'importe où, donc je suis allé faire l'essai et l'erreur, jusqu'à ce que j'ai compris, qu'il accepte les instances de LP_magic_set seulement pour ms.
Certains d'entre eux sont retournés par le module de méthodes
magic.magic_set() et magic_t().
J'ai donc essayé de l'instancier Magic avec l'un d'eux.
Quand je puis appeler la file() méthode de l'instance, il retournera toujours un résultat vide et le errlvl() méthode m'indique pas d'erreur. 22.
Alors, comment puis-je utiliser la magie de toute façon?

Avez-vous un magic.py fichier dans le même répertoire que celui que vous avez lancé le python shell? Les erreurs que vous avez obtenu de faire ressembler que vous faites (comme je viens de recevoir tous vos exemples de travail). Une façon de le savoir est import inspect puis inspect.getfile(magic) et voir si c'est le fichier attendu pour le magic module.
>>> import inspect >>> inspect.getfile(magic) '/usr/lib/python3.4/site-packages/magic.py'
Oh, attendez, vous faites référence à Ubuntu python-magic. Ouais c'est complètement différent de ce package de celui que vous avez regardé. Vraiment si vous pouviez jeter un coup d'œil rapide à ce fichier retourné par inspect.getfile et de voir qu'il est probablement totalement différente de l'un sur GitHub.
Une autre chose, pour référence future, c'est que du python, shell, vous pouvez appeler help(obj) pour obtenir de l'aide de obj via le builtin documentations. Donc dans ce cas help(magic) sera également soulever toutes les docstrings et méthodes disponibles qui montrent clairement que ce que vous avez sur votre système n'est pas la même chose que vous avez obtenu la documentation.
J'ai déjà lu le module, ce qui n'était pas utile à tous. C'est par la voie de l'Arc-Paquet.

OriginalL'auteur Richard Neumann | 2014-08-13