这几天在学习python,从昨天开始安装了ubuntu系统以后,就开始研究这个备份文件的例子,可是无论如何,总是不成功,不是说
OSError: [Errno 2] No such file or directory:
就是说
OSError: [Errno 13] Permission denied:
这些错误都是因为一个os.mkdir()的系统模块的方法,终于是把我惹急了,在这个方法之前添加了测试输出语句,完全可以执行,很明显就是这个方法搞得不对,google了一下os.mkdir();找到了一个硬货,http://bbs.chinaunix.net/thread-1313995-1-1.html,发现我原来写的target_dir里边是没有"./"的,估计是这种原因造成的,后来直接建了一个简单的python源文件,
#/!usr/bin/python
import os
os.mkdir( ‘./image/image2‘ )
测试通过,完全可以执行,后来研究了一下,这个路径需要是当前路径下的子文件夹,并且需要有“./”开头,这个方式应该是资料中所说的相对目录,后来又测试了一下绝对路径,将路径修改成了‘/home/zaj/mypython/e‘,果然起效了,我记得刚才也有这样写过,可是没有成功过阿,难道是错觉,好吧,不管怎样,我是把备份测试成功,并且初步了解了os.mkdir()的相对路径和绝对路径的创建文件夹,就这样吧,今天到此为止,运动,休息,明天继续搞,最后把测试代码贴出来,其实是简明教程里边的源码,只是对路径进行了修改,源码中真的没有加相对路径的“./”,也不知道是印刷问题还是版本问题,不管了,贴码!
#!/usr/bin/python
#Filename:backup_ver2.py
import os
import timesource = [‘/home/zaj/mypython/‘,‘home/zaj/mypython/image‘]
target_dir = ‘/home/zaj/mypython/e‘ #这是绝对路径
#target_dir = ‘./e‘这个地方是相对路径
today = target_dir + time.strftime(‘%Y%m%d‘)now = time.strftime(‘%H%M%S‘)
print ‘daozheli‘
if not os.path.exists(today):
os.mkdir(today)
print ‘Successfully created directory‘, todaytarget = today + os.sep + now + ‘.zip‘
zip_command = "zip -qr ‘%s‘ %s" % (target, ‘ ‘.join(source))
if os.system(zip_command) == 0:
print ‘Successful backup to‘, target
else:
print ‘Backup FAILED‘
关于python -os.mkdir(str)方法的使用记录