簡體   English   中英

"在 Python 中導入兩個或多個同名模塊"

[英]Import two or more module with same name in Python

這是給我帶來麻煩的代碼:

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 的回答更有意義,因為time.sleeptime.time屬於同一模塊。 只需將它們導入並一起使用。 例如:

import time

time.sleep(10)
time.time()

或者,

from time import time, sleep

sleep(10)
time()

我會單獨導入睡眠。

from time import time, sleep

sleep(1)
start=time()
# changed input to inp, input is already an inbuilt function so you shouldn't shadow it.
inp=raw_input(' ')
# you had end = sleep(1) here, but sleep returns None
sleep(1)
end=time()

print (start - end)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM