Download Python`s standard library

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