By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,427 Members | 1,379 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,427 IT Pros & Developers. It's quick & easy.

import parser does not import parser.py in same dir on win

P: n/a
Hi!

I have a possibly dumb question about imports. I've written two python
modules:

parser.py
------------------------------------
class Parser(object):
"my parser"
------------------------------------

app.py
------------------------------------
from parser import Parser
print "import successful"
------------------------------------

Running app.py on linux, gives:
------------------------------------
import succesful
------------------------------------

However, runnning it on windows gives:
------------------------------------
Traceback (most recent call last):
File "test.py", line 1, in ?
from parser import Parser
ImportError: cannot import name Parser
------------------------------------

It turns out that on Windows, the builtin parser module is imported
instead. Why? Why is there a difference? What other names are "taken"?

In both cases the script dir is first on sys.path, and I'm using the
plain old terminal/cmd window.

Thanks for your time.

Cheers!
/Joel Hedlund
Nov 11 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Joel Hedlund wrote:
It turns out that on Windows, the builtin parser module is imported
instead. Why?
the table of built-in modules are checked before searching the path.
Why is there a difference? What other names are "taken"?
depends on how the interpreter is built; there's a sys variable that
contains a list of all built-ins:

http://effbot.org/pyref/sys.builtin_module_names

</F>

Nov 11 '06 #2

P: n/a
the table of built-in modules are checked before searching the path.

I figured as much. But why is the behavior different on linux/win? Is
this documented somewhere?

/Joel
Nov 11 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.