Skip to main content
 首页 » 编程设计

python之在 Python 中导入两个或多个具有相同名称的模块

2025年05月04日22grandyang

这是给我带来麻烦的代码:

import time 
from time import time 
 
time.sleep(1) 
start=time() 
input=raw_input(' ') 
end=time() 
time.sleep(1) 
 
print (start - end) 

问题是以下两个与 time 同名的导入:

import time 
 
from time import time 

如何在我的代码中访问这两个模块?我需要在我的代码中同时使用以下两行:

lines time() 
and time.sleep() 

但是一旦导入,第二个模块就会覆盖第一个。

请您参考如下方法:

如何导入两个或多个同名模块?

Python 提供了使用别名导入模块的方法。例如,在您的情况下,您可以:

import time as t   # access "time" as "t" 
from time import time as tt  # access "time.time" as "tt" 

为了使用,只需使用别名:

t.sleep(1)   # equivalent to "time.sleep(1)" 
 
start = tt()  # equivalent to "start = time.time()" 

实际上你也可以将导入的模块存储在变量中,稍后再访问:

import time 
t = time 
 
from time import time 
tt = time 

但是当 Python 已经支持别名时为什么要这样做呢?


针对您的场景的更好方法

我上面的回答是针对任何这样的一般情况。尽管针对您的具体问题Turksarama's answer更有意义,因为 time.sleep 和 time.time 属于同一个模块。只需导入它们并一起使用它们。例如:

import time 
 
time.sleep(10) 
time.time() 

或者,

from time import time, sleep 
 
sleep(10) 
time()