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动态加载模块的3种方法
Nov 22 Python
python3.0 模拟用户登录,三次错误锁定的实例
Nov 02 Python
Python入门之三角函数atan2()函数详解
Nov 08 Python
python并发编程之线程实例解析
Dec 27 Python
python删除某个字符
Mar 19 Python
Vue的el-scrollbar实现自定义滚动
May 29 Python
Python实现去除列表中重复元素的方法总结【7种方法】
Feb 16 Python
Python操作配置文件ini的三种方法讲解
Feb 22 Python
python 递归调用返回None的问题及解决方法
Mar 16 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
python 合并多个excel中同名的sheet
Jan 22 Python
实例详解Python的进程,线程和协程
Mar 13 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.MVC的模板标签系统(四)
2006/09/05 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
PHP实现连接设备、通讯和发送命令的方法
2015/10/13 PHP
php实现的递归提成方案实例
2015/11/14 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
js设置鼠标悬停改变背景色实现详解
2019/06/26 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
python 多线程重启方法
2019/02/18 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
Python unittest框架操作实例解析
2020/04/13 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
利用python实现汉诺塔游戏
2021/03/01 Python
丝芙兰意大利官方网站:Sephora.it
2019/12/13 全球购物
机械工程系毕业生求职信
2013/09/27 职场文书
教师专业理论水平的自我评价分享
2013/11/09 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
建筑施工安全责任书
2014/07/24 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
2015新员工工作总结范文
2015/10/15 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
深入浅析Django MTV模式
2021/09/04 Python