Python脚本:批量向压缩包中任意文件夹中添加文件
来源:互联网 发布:嘉兴学院网络教育 编辑:程序博客网 时间:2024/05/21 17:34
在网上下载了好多的ZIP的压缩包,而且需要给每个压缩包里面添加同样的东西,好繁重的工作啊,ZIP压缩包太多了,可能都数以百计了吧。难道要让我手动每个都加入吗???话说我课都懒的上,甚至饭的懒得吃啊,我会去做这么繁重的工作吗?答案是:必须的。不过是必须的不愿意,不会做。但是还是得完成这个工作。这算是写这个脚本的背景。
Python,传说中的Python,每次都是伟大的Python来帮我的忙,虽然一点烂基础,不过内有百度,外有谷歌,Who 怕 Who???我就想着一边查一边写呗,反正是不可能让我手工去往里面添加文件,其实网上是有现成的工具的,不过自从开始学习Python,一些简单的东西,我就不喜欢用那些现成的东西了,自己做出来的东西才有成就感啊,对吧!
其实Python挺好用的,这个脚本是通过Winrar实现,现在给大家贴上代码吧!
''''' Created on 2013-8-30 @author: w0cai5hi3r1 ''' #-*-coding:gbk-*- import oszip_dir = input('请输入压缩包路径:')for d in os.listdir(zip_dir): un_dir = os.path.join(zip_dir, d) add_command = '"C:\Program Files\WinRAR\Winrar.exe" a -r %s data' % un_dir if os.system(add_command): print('%s successful!!' % d)
很简单吧,只是使用个os模块就可以实现了,其中os.listdir(zip_dir)是将zip_dir文件夹下的所有文件名列出来,并且返回列表;而os.path.join(zip_dir,d)是将文件名d添加到zip_dir路径后;add_command后面是添加文件的命令,该命令是使用Winrar内部命令实现的。而其中的os.system()是运行命令。
其中有几个问题需要给大家交代一下,如果你只是添加到压缩包根目录下,没问题的,但是你如果想添加某文件到压缩包里面的某文件夹下,需要将你所要添加的文件放在和压缩包中文件夹同名称的文件夹下,将该文件夹一并添加到ZIP压缩包中,放心,不会对文件夹中原有文件做任何改变,只会做简单的添加工作。
但是,同样的,这个脚本还是有BUG,因为列出的文件如果文件名中出现空格,Python脚本会建立一个空格前文字的ZIP压缩包,然后将添加文件添加到这个文件中。至于怎么解决,小菜我还暂时不知道,但是可以结合批量重命名软件来实现先重命名后,再使用该脚本对压缩包进行文件的添加。
哪位大牛,要是知道怎么解决这个空格的问题,还请指教,小菜感激不尽!!!!!!!!!!
====================================================================================================== ID:我才是二亮 QQ:707753184 出处:http://blog.csdn.net/w0cai5hi3r1/article/details/11545545
======================================================================================================- Python脚本:批量向压缩包中任意文件夹中添加文件
- 向用户表中批量添加用户
- Python 批量压缩png 支持过滤个别文件和文件夹
- 向文件中添加行
- python 向 ElaticScrapy中批量插入数据
- TinyPng批量压缩Python脚本
- Ubuntu中向菜单栏添加程序(脚本)
- Ubuntu中向菜单栏添加程序(脚本)
- ios 开发 向工程中添加文件夹及文件 找不到头文件
- 向Android Studio中添加jar包
- Java向自定义文件夹中写入文件
- Java向自定义文件夹中写入文件
- Shell脚本:向磁盘中批量写入数据
- python向对话框中添加控件
- 使用7zip批量压缩文件夹到不同压缩包
- 使用7zip批量压缩文件夹到不同压缩包
- 用rar命令行 添加指定文件到压缩包的指定目录中
- 在文档库中向指定的文件夹添加文档
- MFC+OpenGL
- 编译原理序列
- OpenSSL 使用指南
- C#中使用split分割字符串的几种方法小结
- POJ 2028
- Python脚本:批量向压缩包中任意文件夹中添加文件
- 2013年9月10日星期二(DEMO8_6矩阵)
- android小游戏制作心得(五)——游戏物体Body类和游戏世界World类
- ROS和SLAM 【gmapping】
- unix序列
- 20130910
- POJ3771+Prim
- Web Service实现分布式服务的基本原理
- 简单的爬虫程序