2011-12-12 181 views
-6

我不知道如何將我的簡單功能添加到我的主程序文件。爲什麼不 ?從模塊訪問功能

當我這樣做:

import print_text 

echothis("this is text") 
exit() 

無法理解爲什麼人們認爲這是這樣一個壞的問題。

這並不工作之一:如果鍵入以下任何答案

print_text.echothis("this is text") 

同樣的事情發生。 包括:

from print_text import echothis 

我剛剛得到這個錯誤:

from: can't read /var/mail/print_text 
./blah3.py: line 3: syntax error near unexpected token `"this is text"' 
./blah3.py: line 3: `print_text.echothis("this is text")' 

或沒有在/ var /郵件線變體...

*此文件被命名爲print_text.py *

#!/usr/bin/env python 

import time 
import random 
import string 
import threading 
import sys 

def echothis(txt): 
    woo=txt 
    stdout.write(woo) 
+0

其實你應該得到一個錯誤,說'echothis'是不確定的。你的導入應該是'from print_text import echothis' –

+3

你用什麼材料來學習python?這聽起來像你應該得到更好的學習材料。 – Marcin

+0

我看不到線程對象正在創建的位置。也許你缺少的是實例化'print_text'類併爲該對象調用'start'方法。 – jcollado

回答

1

編輯:你實際上沒有ap ython的問題,但一個bash之一。你正在運行你的python腳本,因爲它是bash(因此'from:無法讀取'),你是否在你運行的文件的開頭放了#!/usr/bin/env python(不是print_text.py,另一個) ?你也可以這樣稱呼它:python myfile.py它應該工作。



當導入模塊,它被命名空間,所以如果你想使用任何來自該模塊,您需要使用正確的命名空間來調用它。在這裏,你會打電話給你echothis函數使用print_text.echothis

或者,如果要在主名稱空間中包含echothis,則可以使用from print_text import echothis語法。

+0

這不工作。 – funk

+0

ohhhhhhhh,對。而已 !謝謝! :)) – funk

+0

大規模的DOH !!!! – funk

0

試試這個:

import print_text 

print_text.echothis("this is a text") 
+0

這也不起作用 – funk