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