这真是一点小问题,搞死人了。主要还是两个问题,
1WinRAR,这要配置到环境变量里去。不然无法实现功能。
2 其次就是转义 r'D:FISRT'
3 source = [r'D:ONE'] # [],不加这方括号,就一定不成功。
import os import time source = [r'D:ONE'] # [],不加这方括号,就一定不成功。 target_dir = r'D:FISRT'target=target_dir +'\'+time.strftime('%Y%m%d%H%M%S')+'.rar' #不加 '\',老是会拷贝不到对应的文件夹,反而变成了名字。 rar_command ='winrar a %s %s'%(target,' '.join(source)) if os.system(rar_command) == 0: print 'sucessful backup to ' ,target else: print 'backup falled'
不加‘\’
sucessful backup to D:FISRTackup20180130172154.rar
加了之后,才能拷贝进去文件夹里
sucessful backup to D:FISRTackup20180130172249.rar
浪费了我好多时间。可真不容易,这么简单的代码。却遇到这么多问题,要是不能解决,那就灰心丧气了。这么简单的问题。可把我弄的难受了。
首先应该是做个计划,该做什么。这是程序设计的思维。这个才是最重要的。比上面的七七八八都重要。
有个要做什么的大概蓝图,这样才能编辑程序编辑下去。不然空手都不知道该干什么
-
需要备份的文件和目录由一个列表指定。
-
备份应该保存在主备份目录中。
-
文件备份成一个rar文件。
-
rar存档的名称是当前的日期和时间。
-
我们使用标准的rar命令,它通常默认地随Linux/Unix发行版提供。Windows用户可以使用Info-Zip程序。注意你可以使用任何地存档命令,只要它有命令行界面就可以了,那样的话我们可以从我们的脚本中传递参数给它。
import os import time source = [r'D:ONE'] #备份源目标文件夹 target_dir = r'D:FISRTackup' # 目标文件夹 today=target_dir +'\'+time.strftime('%Y%m%d') # 今天的文件夹YMD,地址 now = time.strftime('%H%M%S') # 现在的时间 if not os.path.exists(today): os.mkdir(today) print '成功创建今日文件夹' #--如果不存在今天的文件夹,就创建一个。 target = today+os.sep+now+'.rar' # 目标文件,today 的地址.+os.sep(解决转义符号问题)+now 现在时间+文件格式 rar_command ='"C:Program FilesWinRARRar.exe" a %s %s' %(target,' '.join(source)) if os.system(rar_command) == 0: print 'sucessful backup to ' ,target else: print 'backup falled'
优化了,每天创建一个文件夹,并放进去。在网上试图查找每天定时执行,有很多。
while true
time.sleep。
其中timer 定时器,说我没导入。然后schea 类。没太看懂。确实是太浅薄了。暂时不看了。不求甚解。有空再来看它。
定时执行。