Download Python`s Standard Library Part I

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Python’s Standard Library
Part I
Joe Houpert
CS265
Operating System Interface
The os module provides dozens of functions
for interacting with the operating system
 Example:


>>> import os

>>> os.getcwd() # Return the current working directory

'C:\\Python26'

>>> os.chdir('/server/accesslogs') # Change current
working directory

>>> os.system('mkdir today') # Run the command mkdir
in the system shell
File Wildcards
The glob module provides a function for
making file lists from directory wildcard
searches
 Example:

>>> import glob
>>> glob.glob('*.py') ['primes.py', 'random.py',
'quote.py']
Command Line Arguments
Stored in sys module’s argv attribute as a
list
 Example:

python demo.py one two three
>>> import sys
>>> print sys.argv ['demo.py', 'one', 'two',
'three']
String Pattern Matching
The re module provides regular
expression tools for advanced string
processing
 Example:

>>> import re
>>> re.findall(r'\bf[a-z]*', 'which foot or hand
fell fastest')
['foot', 'fell', 'fastest']
Mathematics
The math module gives access to the
underlying C library functions for floating
point math
 Example:

>>> import math
>>> math.cos(math.pi / 4.0) 0.70710678118654757
>>> math.log(1024, 2) 10.0

Random module.
Internet Access
There are a number of modules for accessing the
internet and processing internet protocols.
 Urllib2: for retrieving data from a url.
 Smtplib: used for sending mail.
 Example:

>>> import urllib2
>>> for line in
urllib2.urlopen('http://tycho.usno.navy.mil/cgibin/timer.pl')
if 'EST' in line or 'EDT' in line: # look for Eastern
Time
print line
<BR>Nov. 25, 09:43:32 PM EST
Dates and Times
The datetime module supplies classes for
manipulating dates and times in both simple
and complex ways
 Date and time arithmetic
 Output formatting and manipulation


>>> from datetime import date # dates support calendar
arithmetic

>>> birthday = date(1964, 7, 31)

>>> age = now - birthday

>>> age.days

14368
Data Compression

Common data archiving and compression
formats are directly supported by modules
including: zlib, gzip, bz2, zipfile and tarfile.

>>> import zlib

>>> s = 'witch which has which witches wrist watch'
>>> len(s)

41

>>> t = zlib.compress(s)

>>> len(t)

37

>>> zlib.decompress(t) 'witch which has which witches
wrist watch'
Performance Measurement
Python provides a measurement tool that
measures the relative performance of
different approaches to the same problem
 For example, tuple packing versus
traditional swap.

>>> from timeit import Timer
>>> Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()
0.57535828626024577
>>> Timer('a,b = b,a', 'a=1; b=2').timeit()
0.54962537085770791
Quality Control

The doctest module provides a tool for scanning a module
and validating tests embedded in a program’s docstrings
def factorial(n):
"""Return the factorial of n, an exact integer >= 0. If
the result is small enough to fit in an int, return
an int. Else return a long.
>>> [factorial(n) for n in range(6)] [1, 1, 2, 6, 24,
120]

Example:
$ python example.py -v
Trying: factorial(5)
Expecting: 120
ok
References
http://docs.python.org/tutorial/stdlib.html
 http://docs.python.org/library/doctest.htm
l#module-doctest
