2012-03-14 63 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 2012-03-14 15:39:56

+0

由於你的問題+1學到了一些東西。 – 2012-03-14 15:40:11

+0

@DSM:謝謝,投票結束 – 2012-03-14 15:41:56

回答

4
seven_up = __import__("7update") 

哪裏seven_up是你要有效的標識符在你的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

可以,但你必須是有效的標識符引用它,這樣的:

__import__('7update') 
sevenupdate = sys.modules['7update'] 
相關問題