python学习之课后习题
编写一个动态备份文件的python脚本:#!/usr/bin/python#filename :backup_ver2.pyimport osimport timeimport syssource=[]for i in sys.argv:print isource.append(i)#source=['/root/python/test.py'
·
编写一个动态备份文件的python脚本:
#!/usr/bin/python
#filename :backup_ver2.py
import os
import time
import sys
source=[]
for i in sys.argv:
print i
source.append(i)
#source=['/root/python/test.py','/root/python/backup_var1.py']
print source
del(source[0])
print '#######'
print source
target_dir='/root/python/'
today=target_dir+time.strftime('%Y%m%d')
now=time.strftime('%H%M%S')
if not os.path.exists(today):
os.mkdir(today)
print 'successfully created directory', today
target=today+os.sep+now+'.zip'
zip_command="zip -qr '%s' %s" %(target,' '.join(source))
#run the backup
if os.system(zip_command)==0:
print 'successfully backup to the target',target
else:
print 'failed backup'
这里利用list的可增可减的特性,进过反复的实验,发现使用sys.argv的方法后会把本身的py脚本也包裹到里面如下:
[root@fsailing1 python]# python backup_ver2.py /root/python/test.py /root/python/while.py
backup_ver2.py
/root/python/test.py
/root/python/while.py
['backup_ver2.py', '/root/python/test.py', '/root/python/while.py']
successfully backup to the target /root/python/20120627/203320.zip
所以使用了del的方法进行删除了,这样就会好点儿了。
[root@fsailing1 python]# python backup_ver2.py /root/python/test.py /root/python/while.py
backup_ver2.py
/root/python/test.py
/root/python/while.py
['backup_ver2.py', '/root/python/test.py', '/root/python/while.py']
#######
['/root/python/test.py', '/root/python/while.py']
successfully backup to the target /root/python/20120627/203634.zip
更多推荐
已为社区贡献7条内容
所有评论(0)