Python`s standard library
Download
Report
Transcript Python`s standard library
The Standard Library In Python
By Ryan Smith
Python’s “Batteries Included”
Philosophy
Python’s standard library was designed to be able to handle as
many situations as possible.
Has a module for just about anything
Can do email, access the internet, work with csv and xml
packages, and more.
Chances are if you want to do it, Python has an easier way to
get it done.
The OS Module
Python contains a number of functions that can interact with
the operating system
The os module allows us to access them
Some examples of os commands:
– Returns the current working directory
os.chdir(‘/cs265/Lab1’) – Change current directory
os.system(‘mkdir Lab2’) – Runs from the command
line
os.getcwd()
Must use import os to gain access to the commands
Wildcards
The glob module allows us to make file lists from wildcard
searches
To use the command, we must use import
Example code:
import glob
glob.glob(‘*.py’)
Returns: [‘hello.py’, ‘world.py’, ‘duh.py’]
glob
Getting Command Line Arguments
Accessing command line arguments can be done using the
sys module.
The argv attribute allows us to manipulate the arguments.
For example, take the file tootsie.py:
import sys
print(sys.argv)
Running python tootsie.py one two three from the
command line would produce:
[‘tootsie.py’, ‘one’, ‘two’, ‘three’]
We can do more sophisticated processing with argparse
Error Output & Redirection
The sys module contains the stderr attribute.
We can use it to give warnings and error messages when
stdout will not work.
For example:
sys.stderr.write(‘Dat not gonna work’)
To terminate a script, we can use sys.exit()
Regular Expressions
In Python, the re module allows us to use regular
expressions
For example, the findall command:
import re
re.findall(r’\bf[a-z]*’, ‘fee fi fo fum, you
smell’)
This would return: [‘fee’, ‘fi’, ‘fo’, ‘fum’]
Command found all words that started with f
Can also use string methods:
‘tea for too’.replace(‘too’, ‘two’)
Returns ‘tea for two’
The math Module
Python’s math module allows us to access a number of
complicated operations
math.cos(), math.log()
Also, the random module allows us to create random
numbers.
– Chooses 1 value from an inputted list
random.sample(range(100), 10) – Picks a set of
numbers from a specified range
random.random() – Creates a random float
random.randrange(6) – Chooses a random number from
the inputted range
random.choice()
Accessing the Internet
We can retrieve data and send emails using python.
This requires the urllib.request module and the smtplib
module respectively
Dates and Times
The datetime module allows the manipulation of dates and
times.
For example:
from datetime import date
now = date.today()
now
This would return the current date
We can also format now with strftime
now.strftime(“%m-%d-%y)
Returns 5-30-2014
Data Compression
We can compress data in python using a multitude of
modules: zlib, gzip, bz2, lzma, zipfile, and
tarfile
For instance:
import zlib
s = b’witch which has which witches wrist
watch’
len(s)
41
t = zlib.compress(s)
len(t)
37
Performance Measurement
The timeit module allows us to track the performance of a
program
For instance:
from timeit import Timer
Timer(‘t=a; a=b; b=t’, ‘a=1; b=2’).timeit()
Returns .57535828626024577
Quality Control
The doctest module allows us to test other modules
For instance, doctest.testmod() allows us to automatically
validate any embedded tests.
Using the unittest module allows us to create a set of tests
that we can keep in a separate file.
Sources
Python Course resources #2, Part 10:
https://docs.python.org/3/tutorial/stdlib.html