2012-03-14 11 views
2

私はスクリプト "7update.py"を持っており、それをインポートしたいと思います。これを行う方法はありますか? import 7updateと入力することはできません。数字で始まるので、有効な識別子ではありません。私はimport('7update')を使ってみましたが、うまくいきません。python:有効な識別子ではないファイルをインポートしていますか?

+1

非常によく似た質問[ここ](http://stackoverflow.com/questions/9090079/in-python-how-to-import-filename-starts-with-a-number) - よく、それは "8puzzle" "7update"の代わりに。 – DSM

+0

あなたの質問+1のおかげで何かを学んだ。 –

+0

@DSM:ありがとう、投票に近いと投票しました –

答えて

4
seven_up = __import__("7update") 

そのモジュールのPythonコードで使用してください。

1

Here is an example from the docs:

import imp 
import sys 

def __import__(name, globals=None, locals=None, fromlist=None): 
    # Fast path: see if the module has already been imported. 
    try: 
     return sys.modules[name] 
    except KeyError: 
     pass 

    # If any of the following calls raises an exception, 
    # there's a problem we can't handle -- let the caller handle it. 

    fp, pathname, description = imp.find_module(name) 

    try: 
     return imp.load_module(name, fp, pathname, description) 
    finally: 
     # Since we may exit via an exception, close fp explicitly. 
     if fp: 
      fp.close() 
4

次のことができますが、あなたはそのように、有効な識別子で、それを参照する必要があります:あなたはするつもりseven_upが有効な識別子である

__import__('7update') 
sevenupdate = sys.modules['7update'] 
関連する問題