Python 为什么这段代码没有控制台输出?

Python 为什么这段代码没有控制台输出?,python,Python,下面是我正在使用的代码,尽管控制台输出中没有错误,但仍然没有返回任何内容。为什么代码没有输出?有什么我需要更改或修复的吗。我想我导入的扫描仪是正确的,但可能有问题。谢谢大家! import sys from scanner import Scanner from functools import cmp_to_key class Tweet: def __init__(self, tweeter, tweet, time): self.tweeter = tweeter

下面是我正在使用的代码,尽管控制台输出中没有错误,但仍然没有返回任何内容。为什么代码没有输出?有什么我需要更改或修复的吗。我想我导入的扫描仪是正确的,但可能有问题。谢谢大家!

import sys
from scanner import Scanner
from functools import cmp_to_key

class Tweet:
    def __init__(self, tweeter, tweet, time):
        self.tweeter = tweeter[1:]
        self.tweet = tweet
        self.time = time
    def  __str__(self):
        return self.tweeter+" "+self.time
    def display(self):
        return self.tweeter+" " +self.tweet

def create_record(s):
    tweets = []
    tweeter = s.readtoken()
    tweet1count = 0

    while tweeter != "":
        tweet = s.readstring()
        t1 = Tweet(tweeter, tweet, s.readline())
        tweet1count += 1
        tweeter = s.readtoken()
        tweets.append(t1)
    return tweets

def read_records(file):
    s = Scanner(file)
    return create_record(s)

def is_more_recent(t1, t2):
    year, month, day, time = t1.time.split()
    month = ("0" + month)[-2:]
    day = ("0" + day)[-2:]
    timestamp1 = year + month + day + time
    year, month, day, time = t2.time.split()
    month = ("0" + day)[-2:]
    day = ("0" + day)[-2:]
    timestamp2 = year + month + day + time
    return timestamp1 > timestamp2

def merge_and_sort_tweets(tweets1, tweets2):
    tweets = tweets1 + tweets2
    cmp_items_py3 = cmp_to_key(is_more_recent)
    tweets.sort(key = cmp_items_py3)
    return tweets

def write_records(file, tweets):
    file = open(file, "w+")
    for t in tweets:
        file.write(str(t))

def main():
    print("Reading Files")
    tweets1 = read_records(sys.argv[1])
    tweets2 = read_records(sys.argv[2])
    tweet1count = len(tweets1)
    tweet2count = len(tweets2)
    if tweet1count > tweet2count:
        print("tweet1.txt contained the most tweets with" , tweet1count)
    elif tweet1count < tweet2count:
        print("tweet2.txt contained the most tweets with" , tweet2count)
    else:
        print("tweet1.txt contains ", tweet1count, "tweets. ")
        print("tweet2.txt contains ", tweet2count, "tweets. ")
    print("Merging files...")
    tweets = merge_and_sort_tweets(tweets1, tweets2)
    print("Writing file...")
    write_records(sys.argv[3], tweets)

    print("File writtem. Displying", min(5, len(tweets)),"earliest tweeters and tweets.")
    for i in range(min(5, len(tweets))):
        print(tweets[i].display())

    if __name__ == "__main__":
        main()
导入系统 从扫描仪导入扫描仪 从functools导入cmp\u到\u键 类推文: def uuu init uuu(self、tweeter、tweet、time): self.tweeter=tweeter[1:] self.tweet=tweet self.time=时间 定义(自我): 返回self.tweeter+“”+self.time def显示(自): 返回self.tweeter+“”+self.tweet def创建_记录: tweets=[] tweeter=s.readtoken() tweet1count=0 而推特!="": tweet=s.readstring() t1=Tweet(tweeter,Tweet,s.readline()) tweet1count+=1 tweeter=s.readtoken() tweets.append(t1) 返回推文 def read_记录(文件): s=扫描仪(文件) 返回创建_记录 def是较新的(t1、t2): 年、月、日、时间=t1.time.split() 月=(“0”+月)[-2:] 天=(“0”+天)[-2:] 时间戳1=年+月+日+时间 年、月、日、时间=t2.time.split() 月=(“0”+天)[-2:] 天=(“0”+天)[-2:] 时间戳2=年+月+日+时间 返回timestamp1>timestamp2 def merge_和sort_tweets(tweets1、tweets2): tweets=tweets1+tweets2 cmp_items_py3=cmp_到_键(是最近的吗) 排序(key=cmp\u items\u py3) 返回推文 def写入记录(文件、推文): 文件=打开(文件“w+”) 对于tweets中的t: 文件写入(str(t)) def main(): 打印(“读取文件”) tweets1=读取记录(sys.argv[1]) tweets2=读取记录(sys.argv[2]) tweet1count=len(tweets1) tweet2count=len(tweets2) 如果Tweet1计数>Tweet2计数: 打印(“tweet1.txt包含最多的tweets,带有“、tweet1count”) elif Tweet1计数结尾处的
if
语句不应位于
main()
函数内。因此,您从未调用该函数。该函数的正确位置应放在何处?确切位置,只是不缩进。如果您了解它在做什么,应该清楚它属于何处。