调用的参数有空格,于是用“”把他圈起,但还是不对,于是打开控制台,亲自把下面程序里print(cmd)的结果复制粘贴进去,此时命令正确执行,头有点大,这是为什么,Python os.system()和cmd是不是有些地方不一样。。
import os
import time
source = ['C:\Users\Administrator\Desktop\数据结构与算法分析:C语言描述'
,'"C:\Users\Administrator\Desktop\简明 Python教程密码crossin.me—Crossin的编程教室"']
target_dir = r"C:\Users\Administrator\Desktop"
target = target_dir + "\"+time.strftime('%Y%m%d%H%M%S') + '.rar'
cmd=r'"C:\Program Files\WinRAR\winrar.exe" a %s %s'%(target," ".join(source))
print(cmd)
if os.system(cmd) == 0:
print ('Successful backup to', target)
else:
print ('Backup FAILED')
http://blog.csdn.net/gray13/article/details/7044453
关键是看你的字符串拼接和路径是否有空格