2013-11-25 95 views
-3

這被編譯沒有任何錯誤,但不打印任何東西。編譯沒有錯誤,但不打印任何東西

def main(): 
    test = readfile('text.txt') 
    print test 
    main() 

def readfile(filename): 
    with open(filename) as f: 
     lines = f.readlines() 
     print lines 
     return lines 
+1

粘貼一些更多的代碼 – Serafins

+0

Python是一種[解釋語言](HTTPS ://en.wikipedia.org/wiki/Interpreted_language);它不被編譯。 –

+0

Python被編譯爲字節碼。 – Matthias

回答

2

你應該叫從外面本身main。否則它永遠不會被調用。

基本上它看起來是這樣的:

def main(): 
    test = readfile('text.txt') 
    print test 

def readfile(filename): 
    with open(filename) as f: 
     lines = f.readlines() 
     print lines 
    return lines 

main() 

沒有什麼比在Python入口點,就像在C.主函數調用主函數只是另一種功能。你的腳本將從上到下執行。


或者無主:

with open(filename) as f: print(f.readlines()) 
+0

我可以跳過定義main並像這樣做嗎? 測試= ReadFile的( '的text.txt') 打印測試 DEF READFILE(文件名): 開放(文件名)爲f: 線= f.readlines() 打印線 返回線 – user3033957

+0

@ user3033957否主要需要。看我的編輯。只需在使用之前定義'readfile'即可。 – Hyperboreus

1

在python主(在文件的結尾):

def main(): 
    print("main") 

if __name__ == "__main__": 
    main()