Python 使用rar命令压缩多个文件夹? 400 报错
初学Python,有一个练习,将多个文件夹压缩为一个文件,原文使用zip命令,我在windows下,使用rar,老是出错,提示 必须是字串,不能是数组,求解
源码如下:
#!/usr/bin/env python
# Filename: backup_ver1.py
import os
import time
# 1. The files and directories to be backed up are specified in a list.
#source=['/home/swaroop/byte','/home/swaroop/bin']
source=['D:\\FileCopier\\*.*','D:\\jeecms_doc\\*.*']
# If you are using Windows, use source=[r'C:\Documents',r'D:\Work'] or something like that
# 2. The backup must be stored in a main backup directory
#target_dir='/mnt/e/backup/' #Remember to change this to what you will be using
target_dir='E:\\temp\\' #Remember to change this to what you will be using
# 3. The files are backed up into a zip file
# 4. The name of the zip archive is the current date and time
target=target_dir+time.strftime('%Y%m%d%H%M%S')+'.zip'
# 5. We use the zip command (in Unix/Linux) to put the files in a zip archive
#zip_command="zip -qr '%s' %s" %(target,' '.join(source))
zip_command="rar a ",target,' '.join(source)
# Run the backup
if os.system(zip_command)==0:
print 'Successful backup to',target
else:
print 'Backup FAILED'
Traceback (most recent call last):
File "E:/project/prjPythonTest/com/my/ex_backup/backup_ver1.py", line 27, in <module>
if os.system(zip_command)==0:
TypeError: must be string, not tuple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
22 行:
zip_command="rar a " + target + ' '.join(source)
######果然,加上空格就可以正确执行了,谢谢。######楼上正解,zip_command你那种定义是一个tuple, 但是os.system 的参数限定是字符窜。