• 小工具之文件整合


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

    工具源码

    # -*- 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('
    ')
                            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('
    ')
    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

     

     

  • 相关阅读:
    [CQOI2016]手机号码
    花神的数论题
    [AHOI2009]同类分布
    lightoj 1007
    PAT (Advanced Level) 1007. Maximum Subsequence Sum (25) 经典题
    PAT (Top Level)1002. Business DP/背包
    PAT (Advanced level) 1003. Emergency (25) Dijkstra
    HDU 1874 SPFA/Dijkstra/Floyd
    POJ 2823 Sliding Window ST RMQ
    HUST 1103 校赛 邻接表-拓扑排序
  • 原文地址:https://www.cnblogs.com/superdo/p/5140643.html
Copyright © 2020-2023  润新知