找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3790|回复: 0

[求助] python zip报出警告

1

主题

3

帖子

3

积分

贫民

积分
3
await321 发表于 2016-6-23 13:54:00 | 显示全部楼层 |阅读模式
简明python教程中有这么一个例子:
  1. #!/usr/bin/python
  2. # Filename: backup_ver1.py

  3. import os
  4. import time

  5. source = ['/home/swaroop/byte', '/home/swaroop/bin']

  6. target_dir = '/mnt/e/backup/' # Remember to change this to what you will be using

  7. target = target_dir + time.strftime('%Y%m%d%H%M%S') + '.zip'

  8. zip_command = "zip -qr '%s' %s" % (target, ' '.join(source))

  9. # Run the backup
  10. if os.system(zip_command) == 0:
  11.     print 'Successful backup to', target
  12. else:
  13.     print 'Backup FAILED'
复制代码


source = ['/home/swaroop/byte', '/home/swaroop/bin'] 写成这种有同级别目录的路径,执行这个python脚本,没有异常,
而我写成 source = ['/data/test', '/home/swaroop/bin']  时却报很多行的这个警告,(test和bin都是目录)
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address
zip warning: No such device or address

这是啥情况?
如果 source = ['/home/swaroop/byte', '/home/swaroop/bin']
' '.join(source) 之后把source列表变成了 /home/swaroop/byte /home/swaroop/bin
zip_command = "zip -qr '%s' %s" % (target, ' '.join(source)) 相当于 zip_command = "zip -qr /mnt/e/backup/日期时间.zip /home/swaroop/byte /home/swaroop/bin 把/home/swaroop/目录下的 byte和bin目录添加到压缩文件中,

如果 source = ['/data/test', '/home/swaroop/bin'],  ' '.join(source) 之后把source列表变成了/data/test /home/swaroop/bin
zip_command = "zip -qr '%s' %s" % (target, ' '.join(source)) 相当于 zip_command = "zip -qr /mnt/e/backup/日期时间.zip /data/test /home/swaroop/bin 把/data/test目录下的文件或目录,和home/swaroop/bin目录下的文件或目录 添加到压缩文件中

这有什么不同吗?同样是两个目录,为什么source = ['/data/test', '/home/swaroop/bin']这样写的时候会报出警告?
而且测试时发现确实是把/data/test/ 和 /home/swaroop/bin两个目录压缩在了一个压缩文件中,只是执行脚本时却报出警告。
难道zip压缩时,不能将多个完全不同级别的目录放在一起压缩?





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表