Note in the 10.4 backup script code in the Python tutorial

Source: Internet
Author: User

Are you interested in the practical application of the Python programming language? Do you understand its powerful practical functions? If you are particularly interested in these things, you can browse the following articles to learn about them. The following is a detailed introduction of the article.

Python tutorial

There are some notes in the code of backup script-version 4 in example 10.4.

 
 
  1. #!/usr/bin/python  
  2. # Filename: backup_ver4.py  
  3. import os  
  4. import time  
  5. # 1. The files and directories to be backed up are 
    specified in a list.  
  6. source = [‘/home/swaroop/byte’, ‘/home/swaroop/bin’]  
  7. # If you are using Windows, use source = 
    [r'C:\Documents', r'D:\Work'] or something 
    like that  
  8. # 2. The backup must be stored in a main
     backup directory  
  9. target_dir = ‘/mnt/e/backup/’ # Remember to 
    change this to what you will be using  
  10. # 3. The files are backed up into a zip file.  
  11. # 4. The current day is the name of the subdirectory
     in the main directory  
  12. today = target_dir + time.strftime(‘%Y%m%d’)  
  13. # The current time is the name of the zip archive  
  14. now = time.strftime(‘%H%M%S’)  
  15. # Take a comment from the user to create the name 
    of the zip file  
  16. comment = raw_input(‘Enter a comment –> ‘)  
  17. if len(comment) == 0: # check if a comment was entered  
  18. target = today + os.sep + now + ‘.zip’  
  19. else:  
  20. target = today + os.sep + now + ‘_’ + \  
  21. comment.replace(‘ ‘, ‘_’) + ‘.zip’  
  22. # Notice the backslash!  
  23. # Create the subdirectory if it isn’t already there  
  24. if not os.path.exists(today):  
  25. os.mkdir(today) # make directory  
  26. print ‘Successfully created directory’, today  
  27. # 5. We use the zip command (in Unix/Linux) to put 
    the files in a zip archive  
  28. zip_command = "zip -qr ‘%s’ %s" % (target, ‘ 
    ‘.join(source))  
  29. # Run the backup  
  30. if os.system(zip_command) == 0:  
  31. print ‘Successful backup to’, target  
  32. else:  
  33. print ‘Backup FAILED’  

For the Python tutorial code, the article mentions "I also want to use the tar command to replace the zip command for some optimizations. One advantage of this is that when you use the tar and gzip commands in combination, backup will be faster and smaller. If you want to use this document in windows, winzipcan easily process these .tar.gz files. The tar command is available by default in most Linux/Unix systems. Windows users can also download and install it.

The command string will now be:

 
 
  1. tar = ‘tar -cvzf %s %s -X /home/swaroop/excludes.txt’
     % (target, ‘ ‘.join(srcdir)) 

It must be supplemented that the command after installing LibArchive for Windows users is bsdtar. To use the-z option, you must also install the gzip software.

In the code

 
 
  1. target = today + os.sep + now + ‘.zip’ 

Change

 
 
  1. target = today + os.sep + now + ‘.tar.gz’ 

Use

 
 
  1. bsdtar -cvzf %s %s -X /home/swaroop/excludes.txt’ % (target, ‘ ‘.join(source)) 

The original English version has not replaced the zip content with tar. We suggest using zipfile and tarfile In the Python standard library to rewrite ver5. The above is an introduction to the Python tutorial. I hope you will get something.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.