txt合并

本文介绍了一个用于合并多个TXT文件的Python脚本,该脚本能够处理大量文本文件,将其合并成不超过100M大小的新文件,适用于创建网络小说词库等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天闲来无事,写了个txt合并的小脚本,或许以后在做个有关网络小说的词库。

# -*- coding: utf-8 -*-
"""
Created on Mon Oct  1 11:08:56 2018

@author: 96jie
"""

import os

file_dir = 'XIAOSHUO_txt/'
#指点生成txt文件的大小,不超过100M
SIZE_M = 100

def getfile(file_dir):
    num = 0
    dir = 'new' + str(num) +'.txt'
    new_text = open(dir,'w',encoding='utf-8')
    sub_dir = os.listdir(file_dir)
    epi = 1    
    for idx in sub_dir:
        sec_dir = file_dir + idx       
        for obj in os.listdir(sec_dir):
            #txt的命名格式是1__XXX.txt
            name = obj.split('.')[0].split('__')[1]
            print('-------正在写入' + name + '-----')
            new_text.write('\n\n' + '第' + str(epi) + '本  ' + name + '\n\n')
            epi = epi + 1
            _dir = sec_dir + '/' + obj
            #注意文本的编码格式,防止txt中有乱码,加入了errors
            f = open(_dir,encoding='UTF-8',errors='ignore')
            '''
            line = f.readline()
            while line:
              new_text.write(line + '\n')
              line = f.readline()
            '''
            word = f.read()
            new_text.write(word + '\n')
            f.close()
            if os.path.getsize(dir) > SIZE_M * 1048576:
                new_text.close()
                print('-------------finish'+str(num)+'-------------------' )
                num += 1
                epi = 1
                dir = 'new' + str(num) +'.txt'
                new_text = open(dir,'w',encoding='utf-8')
if __name__ == "__main__":
    
    getfile(file_dir)
    
                 
               
            
           
            




            

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值