在《简明Python教程》第十章,作者以一个小的脚本开发作为案例讲解Python()
但是该案例在Windows平台下运行会失败,作者也一笔带过没有多讲,在此改写一下使之在Windows平台可以顺利运行
除了作者已经在文章中提到的转义符问题(详见文中“给Windows用户的注释”)
主要问题出现在
1 zip_command = "zip -qr '%s' %s" % (target, ' '.join(source))
而在Windows下不支持zip命令行进行压缩,在此需要借用其他外部程序(如WinRAR。我试了下360zip,不过据说其还没开发出命令行操作,所以我使用时暂时不行,如有使用360zip成功的网友可以跟帖).
1.安装WinRAR
可以进入DOS进行测试(在命令行中输入 rar,如果返回很多用法就是没问题的)
3.改写zip_command
1 zip_command="rar a %s %s " %(target, ' '.join(source))
理论上运行不会出问题了,完整代码如下
其中
1 target_dir=r'C:\target\\'
之所以后面有两个 \\ 是为了防止备份时将target作为名称而不是路径,当然也可以文件命名一行这样改
1 target=target_dir+'\\'+time.strftime('%Y%m%d%H%M%S')+'.rar'