2015-06-13 18 views
1

我试着在shell在shell中工作,但不作为程序?

infile = open("studentinfo.txt", "r") 
infile.read() 

下它返回的文件,这就是我想要它做的文本。但是,当我写它并将其保存为程序

def main(): 
    infile = open("studentinfo.txt", "r") 
    infile.read() 
main() 

它只是返回空行。

回答

6

你的函数从不返回的值,因此它们再次丢弃。

添加return声明:

def main(): 
    infile = open("studentinfo.txt", "r") 
    return infile.read() 

此外,在交互式解释,所有的表达效果呼应自动除非结果为None。在常规脚本中,你必须明确地打印结果:

print(main()) 
+1

小挑剔:不应该'打印'而不是'main'函数?我的意思是,按照惯例,“main”不应该返回任何东西,对吧? –

+2

@tobias_k:取决于你问的对象;它至多是一个惯例。我确实想要从解释器行为中分离出函数行为。 –

相关问题