小工具之文件整合

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

工具源码

# -*- 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

小工具之文件整合的相关文章

小工具-FTP文件传输(FlashFXP4.4.2 )

小工具-FTP文件传输(FlashFXP4.4.2 ) 一.FlashFXP简介 flashfxp是一个功能强大的 FXP/FTP 软件,融合了一些其他优秀 FTP软件的优点,如像 cuteftp 一样可以比较文件夹,支持彩色文字显示:像 BpFTP 支持多文件夹选择文件,能够缓存文件夹:像 LeapFTP 一样的外观界面,甚至设计思路也差相仿佛.支持上传.下载及第三方文件续传:可以跳过指定的文件类型,只传送 需要的文件:可以自定义不同文件类型的显示颜色:可以缓存远端文件夹列表,支持FTP代理及

Java 实现小工具读取文件有多少个单词

在windows 下执行如下 读取文件单词的代码在另一篇博客里传送 写完工具类后,在网上找到各种打包jar包的教程,打包好我们的读单词的代码,再新建一个记事本,名字自己命名.bat的批处理文件,类容如下: path是安装的jdk的路径,Test.jar是代码打包的包名 @echo on @echo startup set path=C:\Program Files\Java\jdk1.8.0_201\bin java -jar Test.jar pause 两个文件放在一个文件夹下,双击star

QT程序--小工具集合

这是在大一第一学期时写的参加程序设计大赛的作品,当时参加的时候仅仅只有贪吃蛇,迷宫算法和文件加密这三个功能,而且当时的界面并没有进行任何美化,现在想起来有点可惜.然而这并不是一个只写一遍的软件,在后期逐渐更新,知道今天的这个版本.而且当时对于C++的理解并没有经过学校的学习的系统学习后那么到位,其中有一部分并没有遵循面向对象设计的思想.可能是由于之前版本的qt写的程序对于WIn10的支持也并不到位,然后为了让程序启动的时候自动将兼容性设置为win7这一动作花费了挺长时间了,中途出现这个问题的时候

自己写的 根据编码搜索文件的小工具

文件.目录搜索的小工具 用正则式限制文件名.关键字.目录 开始是专门为了搜索GBK和UTF8两种编码的文件,现在可以制定多种编码方式来搜索文件 本科生,代码可能很不规范 因为windows下好像没有grep,win7默认的搜索用起来也不习惯,search my file也不支持搜索中文,所以开始试着按自己想法尝试写这个东西用来搜源码文件. https://github.com/wo4li2wang/MSearcher 参数 ? -f ?搜索的文件夹,可以用正则式表示? -k ?搜索文件包含的关键

强大的pdf文件操作小工具——PDFtk的小白用法

前言 作为程序员,大家都知道的,总是会被技术小白问各种跟编程没什么关系的硬件.软件问题.曾经被一技术小白同事问到有没有什么办法合并pdf文件,当时自己也是一头雾水,因为自己工作生活很少会去操作pdf文件,而当时公司对开发人员的电脑权限管理很严格,不论是上网还是安装软件,都受到很大限制,最后硬着头皮忙活了一阵子也没在解决. 前两天在写批处理程序的时候,发现批处理程序是有合并文件的命令的,我忽然想起之前这个同事的问题,就试了一下合并pdf,然而并不行.虽然失落了一下,但本着学习的精神还是百度了一下关

Qt写的文件拆分和融合小工具

最近因事物需要,需要将大文件分解为几个小文件,然后就行传输,在接收端需要对接收到的小文件进行融合.因此用Qt写了这个小工具.现在奉献上这个小工具的代码和思路. 我们知道任何文件在计算机上都是二进制数据块,因此只需要使用读写二进制的形式来读取大文件,在将读取的大文件以二进制形式写入小文件,这样就可以将文件拆分了(当然这是非常简单的拆分方法,对有些文件肯定存在错误的,因为本人在这方面的知识很肤浅).同样小文件的融合就是拆分的逆过程. 在读写文件的过程中我使用的是C++标准库ifstream和ofst

用C#Winform写个简单的批量清空文件内容和删除文件的小工具

用C#Winform写个简单的批量清空文件内容和删除文件的小工具 本文介绍这个简单得不能再简单的小项目.做这个项目,有以下目的. 1 当然是做个能用的工具 2 学习使用Github 关于用VS2013创建一个项目并添加到Github的教程,请参考(http://www.admin10000.com/document/4004.html).简单来说,就是先用VS创建项目:然后在Github网站上创建一个Respo(本项目的代码托管项目),记下(https://*.git)那个地址:最后用"提交&q

文件查找工具Everything小工具的使用

Everything 小工具的使用: 首先它是一款基于名称实时定位文件和目录的搜索工具,有以下几个优点: 快速文件索引 快速文件搜索 较低资源占用 轻松分享文件索引 实时跟踪文件更新 通过使用everything小工具,可以提高我们的工作效率,更加方便我们查找文件. 想要对它有更多的了解,参考链接:http://xbeta.info/everything/faq.htm 下载链接:http://xbeta.info/everything/download.htm 主页面如下: 在搜索栏里输入我们

小工具:删除某些文件夹 及 其子文件夹

背景:偶最近在一个任务的开发测试的过程中, 需要重复的去运行程序,在测试过程中 每运行一次,会产生大量的 folder 及 file, 尤其是 log file. 有时侯可能不是程序的问题,是其它原因,因为 各个目录下大量的 folder 及 file 会对我造成干扰,本能的想把它们统统干掉,快速的找到出问题的log file 来解决问题.于是便粗制烂造了这个工具,目前它暂时满足偶的需求. 以后有新的需求,可以在此基础上扩展. 下载:http://pan.baidu.com/s/1pJ0mKQ3