• Compute
• Datasets
• Software Catalog
• Storage
• Services

## Example Python Jobs

This section illustrates how to submit a small Python job to a PBS queue.

### Link to section 'Example 1: Hello world' of 'Example Python Jobs' Example 1: Hello world

Prepare a Python input file with an appropriate filename, here named myjob.in:

``````# FILENAME:  hello.py

import string, sys
print "Hello, world!"
``````

Prepare a job submission file with an appropriate filename, here named myjob.sub:

``````#!/bin/bash
# FILENAME:  myjob.sub

python hello.py
``````

Submit the job

View job status

View results of the job

``Hello, world!``

### Link to section 'Example 2: Matrix multiply' of 'Example Python Jobs' Example 2: Matrix multiply

Save the following script as matrix.py:

``````# Matrix multiplication program

x = [[3,1,4],[1,5,9],[2,6,5]]
y = [[3,5,8,9],[7,9,3,2],[3,8,4,6]]

result = [[sum(a*b for a,b in zip(x_row,y_col)) for y_col in zip(*y)] for x_row in x]

for r in result:
print(r)
``````

Change the last line in the job submission file above to read:

``python matrix.py``

The standard output file from this job will result in the following matrix:

``````[28, 56, 43, 53]
[65, 122, 59, 73]
[63, 104, 54, 60]
``````

### Link to section 'Example 3: Sine wave plot using numpy and matplotlib packages' of 'Example Python Jobs' Example 3: Sine wave plot using numpy and matplotlib packages

Save the following script as sine.py:

``````import numpy as np
import matplotlib
matplotlib.use('Agg')
import matplotlib.pylab as plt

x = np.linspace(-np.pi, np.pi, 201)
plt.plot(x, np.sin(x))
plt.ylabel('sin(x)')
plt.axis('tight')
plt.savefig('sine.png')
``````

Change your job submission file to submit this script and the job will output a png file and blank standard output and error files.