python 合并文件的具体实例


Posted in Python onAugust 08, 2013

支持两种用法:
(1)合并某一文件夹下的所有文件(忽略文件夹等非文件条目)
(2)显示的合并多文件。

import sys
import os
'''
    usage(1): merge_files pathname
              pathname is directory and merge files in pathname directory
    usage(2): merge_files file1 file2 [file3[...]]
'''
FILE_SLIM = (256*(1024*1024)) #256M match 2**n
def merge_files(fileslist,mfname):
    global FILE_SLIM
    p_fp = open(mfname,"wba")
    for file in fileslist:
        with open(file,"rb") as c_fp:
            fsize = os.stat(file).st_size
            count = fsize&FILE_SLIM
            while count>0:
                p_fp.write(c_fp.read(FILE_SLIM))
                fsize -= FILE_SLIM
                count -= 1
            p_fp.write(c_fp.read())
    p_fp.close
def main():
    argc = len(sys.argv) - 1
    fileslist = []
    if argc == 2:
        dir_name = os.path.realpath(sys.argv[1])
        assert(os.path.isdir(dir_name))
        file_dir = os.listdir(dir_name)
        fileslist = [os.path.join(dir_name,file) for file in file_dir if os.path.isfile(os.path.join(dir_name,file))]
        print(fileslist)
    elif argc >=3:
        fileslist = [os.path.realpath(sys.argv[index]) for index in range(1,argc) if os.path.isfile(os.path.realpath(sys.argv[index]))]
    merge_files(fileslist,sys.argv[argc])
if __name__ == '__main__':
    main()
Python 相关文章推荐
Python中的类与对象之描述符详解
Mar 27 Python
Python生成不重复随机值的方法
May 11 Python
在Python中移动目录结构的方法
Jan 31 Python
Python装饰器用法实例总结
Feb 07 Python
Python 实现中值滤波、均值滤波的方法
Jan 09 Python
Django框架模板介绍
Jan 15 Python
Python函数定义及传参方式详解(4种)
Mar 18 Python
六行python代码的爱心曲线详解
May 17 Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
Pytorch 中net.train 和 net.eval的使用说明
May 22 Python
python备份文件以及mysql数据库的脚本代码
Jun 10 #Python
Python 变量类型及命名规则介绍
Jun 08 #Python
Python 字符串操作实现代码(截取/替换/查找/分割)
Jun 08 #Python
python strip()函数 介绍
May 24 #Python
Python的词法分析与语法分析
May 18 #Python
简单文件操作python 修改文件指定行的方法
May 15 #Python
Python代理抓取并验证使用多线程实现
May 03 #Python
You might like
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
JQuery优缺点分析说明
2010/06/09 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
讲解Python中的递归函数
2015/04/27 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
python数据结构之列表和元组的详解
2017/09/23 Python
Python实现端口检测的方法
2018/07/24 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
单位提档介绍信
2014/01/17 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
暑期社会实践感言
2014/02/25 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
低碳环保口号
2014/06/12 职场文书
个性车贴标语
2014/06/24 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
python绘制箱型图
2021/04/27 Python
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫