["python","import","module"]
How to import module when module name has a '-' dash or hyphen in it?

I want to import foo-bar.py, this works: foobar = __import__("foo-bar") This does not: from "foo-bar" import * My question: Is there any way that I can use the above format i.e., from "foo-bar" import * to import a module that has a - in it?
In Python 2, you can't. foo-bar is not an identifier. rename the file to foo_bar.py It's possible since Python 3.1+, see Julien's answer. If import is not your goal (as in: you don't care what happens with sys.modules, you don't need it to import itself), just getting all of the file's globals into your own scope, you can use execfile # contents of foo-bar.py baz = 'quux' >>> execfile('foo-bar.py') >>> baz 'quux' >>>