simon.wo...@gmail.com wrote:
Hello, all.

I don't suppose anyone has any idea why it seems to be impossible to
import any file which starts with a number?  You get a syntax error,
whether the file exists or not.

Try it yourself:

import foo
ImportError: No module named foo

import 1foo
  File "<stdin>", line 1
    import 1foo
           ^
SyntaxError: invalid syntax

Is this just me, or has anyone else run into it?  Is it a known bug?
(If so, I can't find it on a bug tracker or in any Google searches).

It's a bit annoying, as I have an enforced naming scheme.  Any way
round it?

A module name must be a valid identifier. For example, if you do:

    import foo

then you can write:

    foo.bar()

but if it allowed:

    import 1foo

then you'd be stuck because you can't write:

    1foo.bar()

You also aren't allowed to have spaces in a name, so no, it's not a bug.

I suppose that if there was a demand for this kind of thing then quoting
could be used for the filename:

    import "1foo" as one_foo
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to