Python readline() 不工作?

2 投票
3 回答
6397 浏览
提问于 2025-04-17 10:47

我正在做一个小程序来帮助我学习Python(我对这个语言还很陌生)。我使用的是Python 3.2。

在Python的命令行界面中,当我输入

f = open('filename.txt', 'r')
f.readlines()

时,它会把filename.txt里的所有内容都打印出来。但是,当我在一个新窗口中输入这段代码并保存为.py文件后,运行时却没有任何输出。而且也没有出现错误信息。

我的代码大致是这样的:

f = open('filename.txt', 'r')
f.readlines()

while True:
    f = open('filename.txt', 'a')
    inp = input('Enter text: ')
    rest of code...

我该如何在执行任何while语句之前,打印出文件里的所有内容呢?

3 个回答

2

Python解释器有两种不同的运行模式:

  1. 第一种是交互模式。在这个模式下,你会看到一个>>>的命令提示符。你只需要在命令行输入pythonpython.exe就可以进入这个模式。在交互模式中,你输入的任何函数或表达式的返回值都会直接显示出来,方便你查看。

  2. 第二种是脚本模式。当你在命令行输入python <yourscript.py>时,就进入了这个模式。在脚本模式下,Python不会显示你的脚本内容,也不会显示你输入的语句的返回值。

如果你想让Python脚本在控制台上显示一些内容,可以使用print()函数。

print(f.readlines())

想了解更多关于Python解释器的信息,可以查看python.org

2

在你的代码中试试这个:

print(f.readlines())

当你在命令行中输入表达式时,系统会计算并显示结果。但是,如果你是想从文件中运行你的程序,那么你需要明确地使用print来输出你想在控制台上看到的值。

5

不过,当我在一个新窗口里输入它并保存为 .py 文件时

加一个 print 调用。在交互式环境中,最后输入的表达式的值会自动显示出来,这样很方便,但在脚本中这样做很快就会让人觉得烦。

撰写回答