Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.stsci.edu/hst/training/events/Python/usingPyrafScriptPrograms_dScript.html
Дата изменения: Unknown
Дата индексирования: Mon Apr 11 23:49:24 2016
Кодировка:
Python T4:Using PyRAF: writing scripts and programs in Python: Demo Script
STScI Logo

Hubble Space Telescope
Python T4:Using PyRAF: writing scripts and programs in Python: Demo Script


Script for Python Tutorial 4
----------------------------

dir
print __name__
dir(__builtins__)
from pyfits import *
dir()
f = open('junk.txt','w')
f = __builtins__.open('junk.txt','w')
raise SystemExit
import pyfits
dir()
dir(pyfits)
def cube(x):
  '''Take the cube of x'''
  return x*x*x

cube(3)
cube(2.2)
cube()
cube('2')
cube.__doc__
calias = cube
calias(3)
def integrate(function, start, stop):
  '''Very crude integration function'''
  total = 0
  for value in range(start,stop):
    total += function(value)
  return total

integrate(cube,1,10)
data = pyfits.getdata('pix.fits').astype('Float32')
data
data3 = cube(data)
data3

cube(x=3)
def integrate(function,start=0,stop=10):
integrate(cube)
integrate(stop=5,start=1,function=cube)
integrate(cube,3)
integrate(cube,start=2,7)
def average(*args):
  total = 0.0
  for arg in args:
    total += args
  return total/len(args)

def makedict(**keywords):
  '''Make a dictionary from a function'''
  newdict = {}
  for keyword in keywords.keys():
    newdict[keyword] = keywords[keyword]
  return newdict

def wild_and_crazy_function(mode, *filenames, **options):


#!/usr/bin/env python
print 'script starting up'
for item in [1,4,9]:
  print item




chmod a+x test
test   or ./test
python test



execfile('test')


run test





#!/usr/bin/env python

def cube(x):
  '''Take the cube of x'''
  returd x*x*x

import cube
[test fails]
[edit cube.py]
reload(cube)
[etc]

import cube as mm
from cube import *
from cube import cube

import cube
cube(3)
cube.cube(3)



add:
print __name__



reload(cube)
cube.cube(3)


#!/usr/bin/env python

import sys
def cube(x):
  '''Take the cube of x'''
  print __name__
  return x*x*x

if __name__ == '__main__':
  _nargs = len(sys.argv)
  if _nargs != 2:
    print 'Usage: cube x'
  else:
    print cube(float(sys.argv[1]))





python cube 5



import cube
cube.cube(3)

x = 3
y = 0
ratio = 0.0
try:
  ratio = y/x
except ZeroDivisionError:
  print 'Divisor=0'

try:
  [do stuff]
except SomeError:
  [respond to this particular error]
  raise SomeError

f = open('thisfile.txt','w')
try:
  [do something with the file]
finally:
  f.close()

try:
  [do stuff]
except:
  [respond to every type of exception]
raise SystemExit

im = pyfits.getdata('pix.fits')
im=0
im = pyfits.getdata('pix.fits')
del im

sim=im
im=0
sim=0
sim=im[:1,:1]
im=0
sim=0

mylist=[1,'hello',im]
im=0
mylist[2]=0

imshow(im)
im=0
cla()

list1=[1,im]
list2=[list1]
list1[0] = list2
im=list1=list2 = 0


#!/usr/bin/env python
import sys
def cube(x):
  '''Take the cube of x'''
  return x*x*x
if __name__ == '__main__':
  _nargs = len(sys.argv)
  if _nargs  == 1:
    x = raw_input("Enter number to be cubed:  ")
  else:
    x = sys.argv[1]
  print cube(float(x))

f = open('login.cl','r')
flist = f.readlines()
flist
flist[0]
words = flist[0].split(' ')
words
words.reverse()
words
flist[0] = ' '.join(words)
flist[0]

2/4
from __future__ import division
2/4

x = 1,2,3,4,5
x
type(x)
x,y,z = 2,5,6
x
y
z
def powers(x):
  square = x*x
  cube = x*x*x
  fourth = x*x*x*x
  return square, cube, fourth

powers(3)

x,y = 10,6
x,y = y,x
x,y



imstat *flt.fits[sci,*]

files *flt.fits[sci,*]


import pyfits
from pyraf import pyraf
def extensions(filespec, ext=None):
  '''A module to return a list of files that meet the specification'''
  filelist = iraf.files(filespec, Stdout=1)
  outlist = []
  for exposure in filelist:
    thisfile = pyfits.open(exposure)
    _nextensions = len(thisfile)
    for i in range(_nextensions)[1:]
      if(thisfile[i].header['extname'] == ext.upper():
        extver = thisfile[i].header['extver']
        outlist.append(exposure + '[' + ext + ',' + str(extver) + ']')
    thisfile.close()
  return outlist



from extensions import *
extensions('j*flt.fits','sci')
for extension in extensions('j*flt.fits','sci')
  iraf.imstat(extension)