Python 2.5 Python解释文档中的内容

Python 2.5 Python解释文档中的内容,python-2.5,Python 2.5,所以,我现在基本上只是在胡思乱想 我想知道是否有可能制作一个python程序来读取文档,从文档中提取一行,用它生成一个if/else语句(比如如果该行上的文本等于Hello,而不是说Hello back),然后继续下一行。我已经以shell的方式完成了这项工作,但是我想看看是否有可能让python读取文档的行,解释它,显示一些内容,然后转到文档的下一行 (我为这篇文章准备了大量的-1,因为我不知道如何编写大量python,而且可能还不够清楚。所以在你写-1之前,请添加一条评论,说明你需要我澄清的

所以,我现在基本上只是在胡思乱想

我想知道是否有可能制作一个python程序来读取文档,从文档中提取一行,用它生成一个if/else语句(比如如果该行上的文本等于Hello,而不是说Hello back),然后继续下一行。我已经以shell的方式完成了这项工作,但是我想看看是否有可能让python读取文档的行,解释它,显示一些内容,然后转到文档的下一行

(我为这篇文章准备了大量的-1,因为我不知道如何编写大量python,而且可能还不够清楚。所以在你写-1之前,请添加一条评论,说明你需要我澄清的内容。)


我选择的python版本是2.5。

这在python中实际上是一个非常简单的任务:

file = open("file.txt")  # open the file

while True:
    word = file.readline()  # read a line from the file
    print word  # print it to the console
    if word == "":  # if out of words...
        file.close()   # ...close the file
        break   # and break from while loop and exit program

由于您不懂任何Python,请尝试以下方法:

with open("file.txt") as f:
    for line in f:
        if line.strip() == "Hello":
            print "Hello back"
或无例外的安全条款:

    for line in open("file.txt"):
        if line.strip() == "Hello":
            print "Hello back"

strip()
从行中删除结束的换行符
\n

您的意思是“文档”只是一个文本文件吗?将尝试此。。。非常感谢你解决了这个问题!虽然技术上是正确的,但这不仅是非音速的,而且是糟糕的代码。大部分是非音速的。首先,将
while True
循环与
break
组合使用可能被认为是不好的方式。试着用清晰的条件组织你的循环。Python擅长于此。其次,应避免手动关闭文件句柄,方法是使用现代的、异常安全的
with
。第三,python的文件对象被设计为具有for循环的行iterable。无需手动读取行并检查下线。第四,您的代码打印双换行符;文件中的和打印语句附加的。好的,很公平。老实说,我个人更喜欢
,而True
循环与
break
组合;至于在文件中使用
以及在文件中使用python内置for循环功能,我甚至不知道这是一件事。我确实注意到它打印了两行新词,只是没有费心去修改:P谢谢你,我今天学到了两个新东西:)也谢谢你!这也很有帮助。可悲的是,我还没有获得足够的奖牌来提高投票率。有没有办法让它在阅读相同的if和else语句时继续进入下一行?什么?在提出这些问题之前,请先学习一些基本知识。您在我的代码中看到的是一个循环,因此
if
适用于每一行—没关系!对不起,我只是没看过你的第二个例子。非常感谢。最后一个问题,在您的第二个例外安全条款中,您显示它打开并读取文件中的一行,并用它生成if和else语句,这就是我所问的。您能告诉我如何在if语句中为文档中的行分配变量吗?(我尝试了file.readline,但它给了我一个错误)