Python 在shell中工作,但不作为程序?

Python 在shell中工作,但不作为程序?,python,python-3.x,Python,Python 3.x,我在壳中尝试了以下方法 infile = open("studentinfo.txt", "r") infile.read() 它返回了文件中的文本,这就是我想要它做的。然而,当我编写它并将其保存为程序时 def main(): infile = open("studentinfo.txt", "r") infile.read() main() 它只返回空行。您的函数从不返回值,因此它们会再次被丢弃 添加返回语句: def main(): infile = open(

我在壳中尝试了以下方法

infile = open("studentinfo.txt", "r")
infile.read()
它返回了文件中的文本,这就是我想要它做的。然而,当我编写它并将其保存为程序时

def main():
    infile = open("studentinfo.txt", "r")
    infile.read()
main()
它只返回空行。

您的函数从不返回值,因此它们会再次被丢弃

添加返回语句:

def main():
    infile = open("studentinfo.txt", "r")
    return infile.read()
此外,在交互式解释器中,所有表达式结果都会自动回显,除非结果为“无”。在常规脚本中,您必须显式打印结果:

print(main())
您的函数从不返回值,因此它们将再次被丢弃

添加返回语句:

def main():
    infile = open("studentinfo.txt", "r")
    return infile.read()
此外,在交互式解释器中,所有表达式结果都会自动回显,除非结果为“无”。在常规脚本中,您必须显式打印结果:

print(main())

小挑剔:打印不是应该在主功能中吗?我的意思是,按照惯例,总管不应该归还任何东西,对吗?@tobias_k:这取决于你问谁;这充其量只是一个惯例。我确实想把函数行为和解释器行为分开。小挑剔:打印不是应该在主函数中吗?我的意思是,按照惯例,总管不应该归还任何东西,对吗?@tobias_k:这取决于你问谁;这充其量只是一个惯例。我确实想把函数行为和解释器行为分开。