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 workof 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
