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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
Python多进程同步Lock、Semaphore、Event实例
Nov 21 Python
Python编程把二叉树打印成多行代码
Jan 04 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
Apr 18 Python
详解python持久化文件读写
Apr 06 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
Apr 09 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
idea2020手动安装python插件的实现方法
Jul 17 Python
python基于win32api实现键盘输入
Dec 09 Python
Python中的xlrd模块使用整理
Jun 15 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
深入php多态的实现详解
2013/06/09 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
jQuery 创建Dom元素
2010/05/07 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
Python中类型关系和继承关系实例详解
2015/05/25 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Sublime开发python程序的示例代码
2018/01/24 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
Delphi软件工程师试题
2013/01/29 面试题
外语专业毕业生自荐信
2014/04/14 职场文书
节能宣传周活动总结
2014/05/08 职场文书
商铺门前三包责任书
2014/07/25 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
营销计划书
2015/01/17 职场文书
2015大学生自我评价范文
2015/03/03 职场文书