Quelqu'un de #python a suggéré de rechercher le module "herpaderp" et de trouver tous ceux listés lors de sa recherche. Si c'est le cas, pourquoi ne liste-t-il pas tous les modules de mon système avant de lever ImportError? Quelqu'un peut-il nous éclairer sur ce qui se passe ici?Pourquoi est-ce la sortie de ce programme python?
import sys
class TempLoader(object):
def __init__(self, path_entry):
if path_entry == 'test': return
raise ImportError
def find_module(self, fullname, path=None):
print fullname, path
return None
sys.path.insert(0, 'test')
sys.path_hooks.append(TempLoader)
import herpaderp
sortie:
16:00:55 $> python wtf.py
herpaderp None
apport None
subprocess None
traceback None
pickle None
struct None
re None
sre_compile None
sre_parse None
sre_constants None
org None
tempfile None
random None
__future__ None
urllib None
string None
socket None
_ssl None
urlparse None
collections None
keyword None
ssl None
textwrap None
base64 None
fnmatch None
glob None
atexit None
xml None
_xmlplus None
copy None
org None
pyexpat None
problem_report None
gzip None
email None
quopri None
uu None
unittest None
ConfigParser None
shutil None
apt None
apt_pkg None
gettext None
locale None
functools None
httplib None
mimetools None
rfc822 None
urllib2 None
hashlib None
_hashlib None
bisect None
Traceback (most recent call last):
File "wtf.py", line 14, in <module>
import herpaderp
ImportError: No module named herpaderp
Ce n'est pas sur mon système Windows. Ressemble à une seule question Unix. Êtes-vous capable de trouver ou grep ce module herdaderp quelque part sur votre système de fichiers? Je pense que c'est juste un script stupide. –
@Xavier, ouais je devrais avoir probablement mentionné que herpaderp est une fausse importation ... il n'y a pas de module par ce nom, je testais des crochets d'importation. – amoffat