如何在Python中编写多个txt文件?

时间:2016-11-17 15:15:13

标签: python twitter

我正在使用Python进行预处理推文。我的预处理推文在一个文件夹中。每个文件包含名为1.txt,2.txt,... 10000.txt的前处理推文。我想预处理它们并将它们写入名为1.txt,2.txt,... 10000.txt的新文件中。 我的代码如下:

for filename in glob.glob(os.path.join(path, '*.txt')):
with open(filename) as file:
    tweet=file.read()
    def processTweet(tweet):
        tweet = tweet.lower()
        tweet = re.sub('((www\.[^\s]+)|(https?://[^\s]+))','URL',tweet)
        tweet = re.sub('@[^\s]+','USER',tweet)
        tweet = re.sub('[\s]+', ' ', tweet)
        tweet = re.sub(r'#([^\s]+)', r'\1', tweet)            
        tweet = tweet.translate(None, string.punctuation)
        tweet = tweet.strip('\'"')
        return tweet

    fp = open(filename)
    line = fp.readline()

    count = 0
    processedTweet = processTweet(line)
    line = fp.readline()
    count += 1
    name = str(count) + ".txt"
    file = open(name, "w")
    file.write(processedTweet)
    file.close()

但是那段代码只给了我一个已经预处理的名为1.txt的新文件。我怎么写其他9999文件?我的代码中有错误吗?

1 个答案:

答案 0 :(得分:0)

通过调用count = 0,您的计数将重置为0。因此,每当它要写一个文件时,它就会写出" 1.txt"。你为什么要重建文件名,而不是只使用你正在预处理的推文的现有文件名。此外,您应该将函数定义移动到循环外部:

def select_movies():