running a system command in a python script
<p>I have been going through "A byte of Python" to learn the syntax and methods etc...</p>

<p>I have just started with a simple backup script (straight from the book): </p>

<pre><code>#!/usr/bin/python

# Filename: backup_ver1.py

import os

import time

# 1. The files and directories to be backed up are specified in a list.
source = ['"C:\\My Documents"', 'C:\\Code']

# 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
target_dir = 'E:\\Backup' # Remember to change this to what 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'


# 5. We use the zip command to put the files in a zip archive
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))


# Run the backup

if os.system(zip_command) == 0:
    print('Successful backup to', target)
else:
    print('Backup FAILED')
</code></pre>

<p>Right, it fails. If I run the zip command in the terminal it works fine. I think it fails because the <code>zip_command</code> is never actually run. And I don't know how to run it.</p>

<p>Simply typing out <code>zip_command</code> does not work. (I am using python 3.1)</p>
