码迷,mamicode.com
首页 > 其他好文 > 详细

小工具之文件整合

时间:2016-01-18 22:37:06      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

在整理文件的时候,想要将同目录下的文件内容整合到同一个文件中,通常需要一个一个文件打开,复制,再在目的文件黏贴。如果文件量较小,不觉得繁琐,但是在文件量太大的情况下,一个一个的复制黏贴很明显效率太低,浪费大量时间做一下重复性很强的工作。这时候就需要一款文件整合工具来简便、批量的执行复制黏贴的工作。下面介绍的这款就是处理这种复制黏贴工作。

工具源码

# -*- coding: utf-8 -*-

"""
Module implementing App.
"""

from PyQt4.QtGui import QMainWindow
from PyQt4.QtCore import pyqtSignature

import os
import QtUtil

from v.Ui_App import Ui_MainWindow

class App(QMainWindow, Ui_MainWindow):
    """
    Class documentation goes here.
    """
    def __init__(self, parent = None):
        """
        Constructor
        """
        QMainWindow.__init__(self, parent)
        self.setupUi(self)
        
        self.setAcceptDrops(True)
        QtUtil.setFileDragIn(self, self.output_dirinfo)
        
    def output_dirinfo(self, dragInto):
        
        if os.path.isdir(str(dragInto))==True:
            self.lineEdit.setText(dragInto)
            for root, dirs, files in os.walk(str(dragInto)):
                for file in files:
                    root1 = root.replace(\\,/)
                    dir =  str(root1)+\\+str(file)
                    dir1 = dir.replace(\\,/)
                    if not dir1==(str(root1)+/.DS_Store):
                        fd = open(dir1,r)
                        scripts = fd.read()
                        fd.close()
                   
                        new_path_filename = D:/z_save.txt
                        f = open(new_path_filename, a)
                     
                        f.write(str(scripts)) 
                        f.write(\n)
                        f.close()
            self.delblankline(D:/z_save.txt, D:/z_IntegrationFile.txt)
            os.remove(D:/z_save.txt)
            
    def delblankline(self,infile, outfile):
        infp = open(infile, "r")
        outfp = open(outfile, "w")
        lines = infp.readlines()
        for li in lines:
            if li.split():
                outfp.writelines(li)
        infp.close()
        outfp.close()
    
         

 下面解释代码的功能:

root1 = root.replace(\\,/)
dir =  str(root1)+\\+str(file)
dir1 = dir.replace(\\,/)

 以上代码是将"\\"替换成"/"。

new_path_filename = D:/z_save.txt
f = open(new_path_filename, a)                    
f.write(str(scripts)) 
f.write(\n)
f.close()

 以上代码是将其他文件的内容复制到‘D:/z_save.txt‘文件中,每个文件以换行作为分割。

def delblankline(self,infile, outfile):
  infp = open(infile, "r")
   outfp = open(outfile, "w")
   lines = infp.readlines()
   for li in lines:
       if li.split():
           outfp.writelines(li)
   infp.close()
   outfp.close()

以上代码是去空行。

运行结果

技术分享

将文件夹拖进工具框内即可在D盘中生成‘D:/z_IntegrationFile.txt‘文件,该文件即为整合文件。

 

 

 技术分享

本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/5140643.html

 

 

小工具之文件整合

标签:

原文地址:http://www.cnblogs.com/superdo/p/5140643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!