2016-10-21 4 views
-1

私はちょうど別のディレクトリからインポートしようとしています。 これは動作します:Pythonで "from"を使う(ディレクトリ名は数字、無効な識別子で始まります)

if (ssize == 32): 
    from Python_32bit import mycoolmodule 
else: 
    from Python_64bit import mycoolmodule 

しかし、これはしません:

if (ssize == 32): 
    from 32bit_Python import mycoolmodule 
else: 
    from 64bit_Python import mycoolmodule 
+3

'import'は「ディレクトリ」からインポートしません。[モジュール]からインポートします。モジュール名は有効なモジュール名でなければなりません。有効な名前は数字で始まらないことがあります。 – deceze

+0

私はそれを知らなかった:モジュール名は数字で始めるべきではない。 – Jiminion

+0

Pythonの「名前」は、変数、クラス、関数などを含む数字で始まることはありません。 – deceze

答えて

4

有効なモジュール名がidentifier正しいことがあります。

identifier ::= (letter|"_") (letter | digit | "_")* 
letter  ::= lowercase | uppercase 
lowercase ::= "a"..."z" 
uppercase ::= "A"..."Z" 
digit  ::= "0"..."9" 
  • Python_32bitが有効な識別子である。

    識別子は、のように定義された字句表記法に従います。

  • 32bit_Python(数字で始まり、識別子は(letter|"_")で始まる必要があります)。
関連する問題