python比较程序

2024-06-28 19:13:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我对编程真的很陌生(真的,真的很新),需要一些基础知识的帮助。我正在尝试用python编写一个程序来比较两个.txt文件的内容,一个是引用,另一个是源代码。内容是一个简单的随机名称列表,如果源代码中有任何名称不在引用中,我希望它打印出来。你知道吗

我看过这个网站上的其他东西,但每次我尝试它,终端永远不会给出一个结果,即使有一个打印命令在程序中。你知道吗

我也很难读懂一个程序的语言并确定它的确切功能,所以有明确方向的东西会非常感激。你知道吗

据我所知:

ref = open("reference.txt")
sor = open("source.txt")

list1 = ref.read()
list2 = sor.read()

for i in list2:
    if i != list:
    print i

ref.close()
sor.close()

当我试着运行这个时,它说“应该是一个缩进块”?在“打印i”行。为什么?你知道吗

请帮帮我,因为我必须自学这些东西,而且做得不太好。你知道吗

谢谢。你知道吗


Tags: 文件程序txt名称ref内容closeread
3条回答

python中的if块必须缩进,请为print i语句添加另一级别的缩进

for i in list2:
    if i != list:
        print i

如前所述,内部if语句需要缩进,如下所示

for i in list2:
    if i != list:
        print i

这需要两个缩进,因为它是两个嵌套块。作为一个基本的经验法则,任何以冒号(:)结束一行的地方,都是在开始一个新的代码块,并且应该缩进另一个级别。这样您就可以取消一次缩进以结束if块而不结束for块。你知道吗

不过,根据你的描述,我怀疑这是否能满足你的要求。你可能想要更像

sourceLines = set(sor.readLines())
for line in ref.readlines():
    if line not in sourcelines:
        print line

如果你是完全,完全新的编程,那么它将需要一些时间来实现你所描述的。退一步,给自己倒杯饮料,从这里开始。从头开始,重复每个插图,直到你明白为止。你知道吗

http://docs.python.org/tutorial/

相关问题 更多 >