On Aug 27, 2011, at 6:49 PM, Josh English wrote: > When I run: os.listdir('c:\Python27\lib\site-packages') I get the contents in > order, so the folders come before .pth files (as nothing comes before > something.)
That's one definition of "in order". =) > I would guess Python is using os.listdir. Why wouldn't it? If you mean that Python uses os.listdir() during import resolution, then yes I agree that's probable. And os.listdir() doesn't guarantee any consistent order. In fact, the documentation explicitly states that the list is returned in arbitrary order. Like a lot of things in Python, os.listdir() probably relies on the underlying C library which varies from system to system. (Case in point -- on my Mac, os.listdir() returns things in the same order as the 'ls' command, which is case-sensitive alphabetical, files & directories mixed -- different from Windows.) So if import relies on os.listdir(), then you're relying on arbitrary resolution when you have a .pth file that shadows a site-packages directory. Those rules will probably work consistently on your particular system, you're developing a habit around what is essentially an implementation quirk. Cheers Philip -- http://mail.python.org/mailman/listinfo/python-list