Python脚本:批量向压缩包中任意文件夹中添加文件

时间:2023-01-14 14:53:43


       在网上下载了好多的ZIP的压缩包,而且需要给每个压缩包里面添加同样的东西,好繁重的工作啊,ZIP压缩包太多了,可能都数以百计了吧。难道要让我手动每个都加入吗???话说我课都懒的上,甚至饭的懒得吃啊,我会去做这么繁重的工作吗?答案是:必须的。不过是必须的不愿意,不会做。但是还是得完成这个工作。这算是写这个脚本的背景。

       

       Python,传说中的Python,每次都是伟大的Python来帮我的忙,虽然一点烂基础,不过内有百度,外有谷歌,Who 怕 Who???我就想着一边查一边写呗,反正是不可能让我手工去往里面添加文件,其实网上是有现成的工具的,不过自从开始学习Python,一些简单的东西,我就不喜欢用那些现成的东西了,自己做出来的东西才有成就感啊,对吧!

其实Python挺好用的,这个脚本是通过Winrar实现,现在给大家贴上代码吧!

''''' 
Created on 2013-8-30

@author: w0cai5hi3r1
'''
#-*-coding:gbk-*-
import os

zip_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

======================================================================================================