2014-06-25 91 views
3

我是python編程新手,遇到問題。我一整天都在尋找解決方案,迄今爲止我發現的一切都對我有所幫助。我正在用Python編寫一個時間延遲程序,但一旦它遇到延遲的輸入,它就會給我一個錯誤。我試過在同一個程序中運行它,它可以工作,但我希望兩個程序是分開的。在python中調用另一個程序

這是delay.py延時功能

def delayA(ina): 
    ina=float(ina) 
    print("okay!") 
    time.sleep(ina) 
    print("done!") 

這是我的主要

import delay.py 

ina = input("Enter delay in seconds: ") 
delayA(ina) 

呼籲它,這是錯誤消息,我已經得到了一整天

Traceback (most recent call last): 
    File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked 
AttributeError: 'module' object has no attribute '__path__' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "D:/Python/inputcall.py", line 1, in <module> 
    import delay.py 
ImportError: No module named 'delay.py'; 'delay' is not a package 

非常感謝您的幫助!

+0

''進口delay''沒有''進口delay.py'' - 而你真正想要的是:''從延遲進口delayA'' - **注:** Python是根據我的編輯一個沉浸的語言。 –

回答

3

幾乎有扎幾個小錯誤:

delay.py:

from time import sleep 


def delayA(ina): 
    ina = float(ina) 
    print("okay!") 
    sleep(ina) 
    print("done!") 

main.py:

#!/usr/bin/env python 

from delay import delayA 


ina = input("Enter delay in seconds: ") 
delayA(ina) 

你只有三個錯誤我發現是:

  • 您的delayA函數中缺少縮進。
  • from delay import delayA - 不是:import delay.py
  • 實際上導入了delayA函數。即:from foo import bar
+0

這並不是它的真正重要,但缺乏縮進是將代碼放入問題框中的錯誤,而不是代碼本身的錯誤。非常感謝您的幫助,雖然 – SassyMouthSalmon

+1

對於Google員工來說,「import delay.py」是錯誤信息的真正原因 - 請勿添加「.py」。 – Noumenon

相關問題