title: zip error: Invalid command arguments (cannot write zip file to terminal)
body: <p>I am learning the book A Bite of Python. After typing in the example in the book </p>
  
  <pre><code>import os
  import time
  
  # 1. The files and directories to be backed up are
  # specified in a list.
  # Example on Windows:
  # source = ['"C:\\MY Documents"', 'C:\\Code']
  # Example on Mac OS X and Linux:
  source = ['/home/username/Downloads/books']
  # Notice we had to use double quotes inside the string
  # for  names with spaces in it.
  
  # 2. The backup must be stored in a 
  # main backup directory
  # Example on Windows:
  # target_dir = 'E:\\Backup'
  # Example on Mac OS X and Linux:
  target_dir = '/home/username/Downloads/backup'
  # Remember to change this to which folder you will be using
  
  # 3. The files are backed up into a zip file.
  # 4. The name of the zip archive is the current date and time
  target = target_dir + os.sep + \
          time.strftime('%Y%m%d%H%M%S') + '.zip'
  
  # Create target directory if it is not present
  if not os.path.exists(target_dir):
      os.mkdir(target_dir)    # make directory
  
  # 5. We use the zip commond to put the files in a zip archive
  zip_command = "zip - r {0} {1}".format(target, ' '.join(source))
  
  # Run the backup
  print "Zip command is:"
  print zip_command
  print "Running:"
  if os.system(zip_command) == 0:
      print 'Successful backup to', target
  else:
      print 'Backup FALIED'
  </code></pre>
  
  <p>I goe a message <code>zip error: Invalid command arguments (cannot write zip file to terminal)</code>
  I can not figure out where goes wrong, I type in the same code in this book.
  Anyone knows why this happen?</p>