An Introduction to Python for GIS Specialists and Data Managers
-
Upload
grant-henry -
Category
Documents
-
view
38 -
download
3
description
Transcript of An Introduction to Python for GIS Specialists and Data Managers
![Page 1: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/1.jpg)
11
An Introduction to Pythonfor GIS Specialists and Data
Managers
An Introduction to Pythonfor GIS Specialists and Data
Managers
Jacob MorganBrent Frakes
National Park ServiceFort Collins, CO
April, 2008
Jacob MorganBrent Frakes
National Park ServiceFort Collins, CO
April, 2008
![Page 2: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/2.jpg)
22
Session GoalsSession Goals
• Overview of Python
• See power of the language
• Understand basic syntax
• References to other sources
• Too little time to really cover everything
• Overview of Python
• See power of the language
• Understand basic syntax
• References to other sources
• Too little time to really cover everything
![Page 3: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/3.jpg)
33
SessionsSessions
• One: Basic Python
• Two: Using the ESRI Geoprocessor
• Three: Formatting Data and Python Scripting
• Each one hour
• Examples and practice
• One: Basic Python
• Two: Using the ESRI Geoprocessor
• Three: Formatting Data and Python Scripting
• Each one hour
• Examples and practice
![Page 4: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/4.jpg)
44
Session 1: OverviewSession 1: Overview
• Scripts and the Debugger
• Commenting
• Data Types
• Operators
• Decisions and Loops
• File Handling
• Modules, Functions and Classes
• Scripts and the Debugger
• Commenting
• Data Types
• Operators
• Decisions and Loops
• File Handling
• Modules, Functions and Classes
![Page 5: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/5.jpg)
55
Scripts and the DebuggerScripts and the Debugger• General Setup and Notes
– All code is text-based (*.py extension)– Once compiled, a new file will have a *.pyc extension.– Python is VERY picky about indentation– Python is case sensitive
• IDLE – Free– GUI interface for development– Compiler included with ArcGIS– Provides debugging but doesn't allow for breakpoints
• Pythonwin – Free– GUI interface for development– Good debugger with breakpoints– http://sourceforge.net/projects/pywin32/
• General Setup and Notes– All code is text-based (*.py extension)– Once compiled, a new file will have a *.pyc extension.– Python is VERY picky about indentation– Python is case sensitive
• IDLE – Free– GUI interface for development– Compiler included with ArcGIS– Provides debugging but doesn't allow for breakpoints
• Pythonwin – Free– GUI interface for development– Good debugger with breakpoints– http://sourceforge.net/projects/pywin32/
![Page 6: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/6.jpg)
66
Scripts and the DebuggerScripts and the Debugger
• Exercise– type at the prompt >>'hello world'– type at the prompt >>print 'hello world'– Run a script with the following code:
• print 'hello world'
• Exercise– type at the prompt >>'hello world'– type at the prompt >>print 'hello world'– Run a script with the following code:
• print 'hello world'
![Page 7: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/7.jpg)
77
CommentingCommenting
• Why?– Make your code understandable to you and others – How to use code– Why code was written– Debugging (comment out parts of script)
• Ways to Comment– Single Line: use the pound (#) sign before the comment text.
# single line commented text
– Multiple Lines: use triple quotes before and after a text block.“ “ “ These two lines of textAre being commented out “ “ “
• Why?– Make your code understandable to you and others – How to use code– Why code was written– Debugging (comment out parts of script)
• Ways to Comment– Single Line: use the pound (#) sign before the comment text.
# single line commented text
– Multiple Lines: use triple quotes before and after a text block.“ “ “ These two lines of textAre being commented out “ “ “
![Page 8: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/8.jpg)
88
ExerciseExercise
• Add both types of comments to your script• Add both types of comments to your script
![Page 9: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/9.jpg)
99
Data TypesData Types
• Strings
• Numeric
• Lists
• Tuples
• Strings
• Numeric
• Lists
• Tuples
![Page 10: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/10.jpg)
1010
StringsStrings
• An ordered collection of characters used to represent text-based information
• Common String Literals and Operations– strNull = ' ' #empty string– str1 = "metadata" #double-quotes– str2 = '.xml' #single quotes– str3 = str1 + str2 #concatenate– strNull*100 #repeat– str2.upper() #string method call– str1[0:2] #indexing– str1 = str1+str2 #strings can't be modified
but can be reassigned
• An ordered collection of characters used to represent text-based information
• Common String Literals and Operations– strNull = ' ' #empty string– str1 = "metadata" #double-quotes– str2 = '.xml' #single quotes– str3 = str1 + str2 #concatenate– strNull*100 #repeat– str2.upper() #string method call– str1[0:2] #indexing– str1 = str1+str2 #strings can't be modified
but can be reassigned
![Page 11: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/11.jpg)
1111
StringsStrings
• Special Strings– \n #newline– \t #horizontal tab– \\ #backslash
• Special Strings– \n #newline– \t #horizontal tab– \\ #backslash
![Page 12: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/12.jpg)
1212
StringsStrings
– Type the following>>>a='Hello'>>>b = 'World'>>> a+b>>> (a+b)*10>>> a[0:1]>>> a[-4:-1]>>>a.upper()>>>a.lower()– Add two strings– Try using the two other string methods
– Type the following>>>a='Hello'>>>b = 'World'>>> a+b>>> (a+b)*10>>> a[0:1]>>> a[-4:-1]>>>a.upper()>>>a.lower()– Add two strings– Try using the two other string methods
![Page 13: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/13.jpg)
1313
Numeric TypesNumeric Types
• Four types:– Integers
• Numeric type providing a container for whole numbers. Plain integers are precise up to 32 bits (dependant on platform and compiler).
– Floating Point Numbers • Numbers those with a decimal component. These are
called floating point since the decimal point can be positioned anywhere in the digit string by a signed integer exponent-
– Long Integers– Complex Numbers
• Four types:– Integers
• Numeric type providing a container for whole numbers. Plain integers are precise up to 32 bits (dependant on platform and compiler).
– Floating Point Numbers • Numbers those with a decimal component. These are
called floating point since the decimal point can be positioned anywhere in the digit string by a signed integer exponent-
– Long Integers– Complex Numbers
![Page 14: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/14.jpg)
1414
Numeric OperatorsNumeric Operators
Operation Result
x + y sum of x and y
x - y difference of x and y
x * y product of x and y
x / y quotient of x and y
x // y (floored) quotient of x and y
x % y remainder of x / y
-x x negated
+x x unchanged
abs(x) absolute value or magnitude of x
int(x) x converted to integer
long(x) x converted to long integer
float(x) x converted to floating point
complex(re,im) a complex number with real part re, imaginary part im. im defaults to zero.
c.conjugate() conjugate of the complex number c
divmod(x, y) the pair (x // y, x % y)
pow(x, y) x to the power y
x ** y x to the power y
![Page 15: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/15.jpg)
1515
Numeric ConsiderationsNumeric Considerations
• Integer calculations yield integers (including division!)
• Floating point calculations yield floating points
• The constructors int(), long(), float(), and complex() can be used to produce numbers of a specific type. However, converting numbers between types may result in rounding or truncating digits.
• Integer calculations yield integers (including division!)
• Floating point calculations yield floating points
• The constructors int(), long(), float(), and complex() can be used to produce numbers of a specific type. However, converting numbers between types may result in rounding or truncating digits.
![Page 16: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/16.jpg)
1616
Numeric Types - ExercisesNumeric Types - Exercises
>> 1 # 1 >>a= 2 #set value to 2>>b= 3>>b+a>>b/a #still an integer>>value = "10" #not an integer>>c = 1.27 #floating point>>c+b>>b/c>>d = int(c) #rounding
>> 1 # 1 >>a= 2 #set value to 2>>b= 3>>b+a>>b/a #still an integer>>value = "10" #not an integer>>c = 1.27 #floating point>>c+b>>b/c>>d = int(c) #rounding
![Page 17: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/17.jpg)
1717
ListsLists
• An ordered collections of arbitrary objects
• Fully indexed
• Variable in length, heterogenous, and arbitrarily nestable
• Can be altered
• Always in brackets
• Aka Arrays!
• An ordered collections of arbitrary objects
• Fully indexed
• Variable in length, heterogenous, and arbitrarily nestable
• Can be altered
• Always in brackets
• Aka Arrays!
![Page 18: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/18.jpg)
1818
List - ExamplesList - Examples
d = [] # empty list
d = [1,2,3] #list of three integers
d = [1,2,"3"] #two integers and a string
d[0] #first element
d = [[1,2, 3],[3,4, 5]] #3 by 3 array
len(d) # 2
len(d[0]) #3
d = [] # empty list
d = [1,2,3] #list of three integers
d = [1,2,"3"] #two integers and a string
d[0] #first element
d = [[1,2, 3],[3,4, 5]] #3 by 3 array
len(d) # 2
len(d[0]) #3
![Page 19: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/19.jpg)
1919
Lists - ExercisesLists - Exercises
>>L1 = [1,2,3,4,5,6]>>len(L1)>> L1 [0]>> L1.pop() #remove last element from stack>> L1 #6 is removed>> L1 [0:2] #index 0-2>> L1 [-1] #index from end of list>>L2 = [5,6,7]>> L1.append(L2) #insert a new list>> L1 >> L1.extend(L2) #extend the current list>> L1
>>L1 = [1,2,3,4,5,6]>>len(L1)>> L1 [0]>> L1.pop() #remove last element from stack>> L1 #6 is removed>> L1 [0:2] #index 0-2>> L1 [-1] #index from end of list>>L2 = [5,6,7]>> L1.append(L2) #insert a new list>> L1 >> L1.extend(L2) #extend the current list>> L1
![Page 20: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/20.jpg)
2020
OperatorsOperators
• Operators compute a value when presented with a string or number
• Common Operators include:– x=y #assign– x==y #true or false– x < y #True or false– x<=y #True or false– x>y #True or false– x*y, x/y, x+y, x-y #Basic math– x[1] #index– x[1:10] #slice– x or y #y evaluated only if x is false– x and y #y is evaluated only if x is true
• Operators compute a value when presented with a string or number
• Common Operators include:– x=y #assign– x==y #true or false– x < y #True or false– x<=y #True or false– x>y #True or false– x*y, x/y, x+y, x-y #Basic math– x[1] #index– x[1:10] #slice– x or y #y evaluated only if x is false– x and y #y is evaluated only if x is true
![Page 21: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/21.jpg)
2121
Operators - ExercisesOperators - Exercises
• >>>x = 5
• >>>y = 6
• >>> x < y
• >>> x > y
• >>> x < y or y > 7
• >>> x < y and y > 7
• >>>x = 5
• >>>y = 6
• >>> x < y
• >>> x > y
• >>> x < y or y > 7
• >>> x < y and y > 7
![Page 22: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/22.jpg)
2222
Controlling FlowControlling Flow
• Decisions/Conditionals are statements that determine if a series of conditions is true.
• Most common– if– for– while
• Decisions/Conditionals are statements that determine if a series of conditions is true.
• Most common– if– for– while
![Page 23: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/23.jpg)
2323
Decisions/ConditionalsDecisions/Conditionals
if condition:action(s)
elif condition:action(s)
else condition:action(s)
if condition:action(s)
elif condition:action(s)
else condition:action(s)
![Page 24: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/24.jpg)
2424
“if” Condition Example“if” Condition Example
x = 15
if x > 5 and x < 10 :
print “The value is between 5 and 10”
else:
print “The value is not between 5 and 10”
x = 15
if x > 5 and x < 10 :
print “The value is between 5 and 10”
else:
print “The value is not between 5 and 10”
![Page 25: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/25.jpg)
2525
“if” Condition - Exercise“if” Condition - Exercise
>>>x = 7
>>>if x > 5 and x < 10 :
… print “The value is between 5 and 10”
>>>x = 7
>>>if x > 5 and x < 10 :
… print “The value is between 5 and 10”
![Page 26: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/26.jpg)
2626
“for” loop“for” loop
• Supports repeated execution of a statement, or block of statements, controlled by an iterable express
for target in iterable:statement(s)
else: #optional on normal termination
statement(s)
• Supports repeated execution of a statement, or block of statements, controlled by an iterable express
for target in iterable:statement(s)
else: #optional on normal termination
statement(s)
![Page 27: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/27.jpg)
2727
“for” Examples“for” Examples
for x in range (1,30,2):print x
for letter in “hello world”:print letter
infile = open (“dataset.txt”,”r”)for line in infile:
print line
for x in range (1,30,2):print x
for letter in “hello world”:print letter
infile = open (“dataset.txt”,”r”)for line in infile:
print line
![Page 28: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/28.jpg)
2828
For ExercisesFor Exercises
>>>for x in range(1,20):… if x%2 == 0:… print x, “ is even”
>>>import glob>>>files = glob.glob(“*.*”)>>>for file in files:… print file
>>>for x in range(1,20):… if x%2 == 0:… print x, “ is even”
>>>import glob>>>files = glob.glob(“*.*”)>>>for file in files:… print file
![Page 29: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/29.jpg)
2929
“while” loop“while” loop
• allows looping to occur only while a specified condition is true. WHILE evaluates the condition each time the loop completes and terminates the loop when the condition evaluates to false
while expression:statement(s)
else: #optional for normal termination
statement(s)
• allows looping to occur only while a specified condition is true. WHILE evaluates the condition each time the loop completes and terminates the loop when the condition evaluates to false
while expression:statement(s)
else: #optional for normal termination
statement(s)
![Page 30: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/30.jpg)
3030
While ExamplesWhile Examples
x = 100
while x>0:
x = x/2
print x
x = 100
while x>0:
x = x/2
print x
![Page 31: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/31.jpg)
3131
While ExerciseWhile Exercise
>>>x = 20
>>>y = 0
>>>while x>=y:
… print y
… y += 2
>>>x = 20
>>>y = 0
>>>while x>=y:
… print y
… y += 2
![Page 32: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/32.jpg)
3232
File HandlingFile Handling• Ways to open, read, write, and close files
File2read = open (filename, mode = 'r')
filename - string containing filename and extension (e.g., 'metadata.xml')file modes - indicates how to read or write the file
'r' - file must already exist and is read only'w' - creates a new file for writing. Overwrites any existing filename'a' - Write only mode. If file already exists, information is appended.'r+' - File must already exist and is opened for both reading and writing.'w+' - New file is created. Open for reading and writing.'a+' - File open for reading and writing. If file already exists, data is appended.
• Ways to open, read, write, and close files
File2read = open (filename, mode = 'r')
filename - string containing filename and extension (e.g., 'metadata.xml')file modes - indicates how to read or write the file
'r' - file must already exist and is read only'w' - creates a new file for writing. Overwrites any existing filename'a' - Write only mode. If file already exists, information is appended.'r+' - File must already exist and is opened for both reading and writing.'w+' - New file is created. Open for reading and writing.'a+' - File open for reading and writing. If file already exists, data is appended.
![Page 33: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/33.jpg)
3333
Useful File MethodsUseful File Methods
• file.read() - reads up to the end of file and returns it as a string.
• file.readline() - reads one line from file (up to the '\n') and returns a string
• file.seek(pos, how = 0) - Move to a position in the file. 'How' is the reference point for moving (0 = start of file, 1 = current position; 2 = end of file).
• file.write() - Writes a string to a file
• file.writelines(line) - writes a line to a file
• file.close() - # must be closed for it to be unlocked by Windows
• file.read() - reads up to the end of file and returns it as a string.
• file.readline() - reads one line from file (up to the '\n') and returns a string
• file.seek(pos, how = 0) - Move to a position in the file. 'How' is the reference point for moving (0 = start of file, 1 = current position; 2 = end of file).
• file.write() - Writes a string to a file
• file.writelines(line) - writes a line to a file
• file.close() - # must be closed for it to be unlocked by Windows
![Page 34: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/34.jpg)
3434
File ExamplesFile Examples• infile = open(“d.txt”, 'r')• data = infile.read() #the string data is assigned the file
contents• outfile = open(“e.txt”,'w') # assign outfile to the file object for
writing• outfile.write(data) # write the contents to the file
• infile.close()• outfile.close()
• infile = open(“d.txt”, 'r')• data = infile.read() #the string data is assigned the file
contents• outfile = open(“e.txt”,'w') # assign outfile to the file object for
writing• outfile.write(data) # write the contents to the file
• infile.close()• outfile.close()
![Page 35: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/35.jpg)
3535
File ExercisesFile Exercises
>>>filename = “C:\\temp\\test.txt”>>>outfile = open (filename ,’w’)>>>outfile.write(“hello world”)>>>outfile.close()>>>infile = open(filename ,’r’)>>>data = infile.read()>>>print filename, “-”, data>>>infile.close()
>>>filename = “C:\\temp\\test.txt”>>>outfile = open (filename ,’w’)>>>outfile.write(“hello world”)>>>outfile.close()>>>infile = open(filename ,’r’)>>>data = infile.read()>>>print filename, “-”, data>>>infile.close()
![Page 36: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/36.jpg)
3636
Modules, Functions, and ClassesModules, Functions, and Classes
• Module– Single Python file– Provides definitions of functions, variables or
classes– Corresponds to a specific thema (e.g., read,
edit, and write zipfiles)– Composed of functions and/or classes.
Functions can be stand-alone or are part of a class. Whether a function or class, both accomplish tasks.
• Module– Single Python file– Provides definitions of functions, variables or
classes– Corresponds to a specific thema (e.g., read,
edit, and write zipfiles)– Composed of functions and/or classes.
Functions can be stand-alone or are part of a class. Whether a function or class, both accomplish tasks.
![Page 37: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/37.jpg)
3737
Standard ModulesStandard Modules• Supported by
Python - integral to many applications
• Index can be found at: http://docs.python.org/lib/modindex.html
• Importing is simple:
• >>import module
• (e.g., import os)
• Supported by Python - integral to many applications
• Index can be found at: http://docs.python.org/lib/modindex.html
• Importing is simple:
• >>import module
• (e.g., import os)
![Page 38: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/38.jpg)
3838
Accessing FunctionsAccessing Functions
import module
module.function(arguments…)
Examples
import osos.getcwd() #get current directory
import globglob.glob(“*.py”) #get a list of all files with the .py extension
import module
module.function(arguments…)
Examples
import osos.getcwd() #get current directory
import globglob.glob(“*.py”) #get a list of all files with the .py extension
![Page 39: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/39.jpg)
3939
Instantiating ClassesInstantiating Classes
import module
instance = module.class(arguments)
instance.method()
ExamplesImport gzip #import gzip module
Zipfile = gzip.GzipFile(“datafile.zip”) #instantiate GzipFile class
files = Zipfile.read() #Read zipfile and assign it to the files string
import module
instance = module.class(arguments)
instance.method()
ExamplesImport gzip #import gzip module
Zipfile = gzip.GzipFile(“datafile.zip”) #instantiate GzipFile class
files = Zipfile.read() #Read zipfile and assign it to the files string
![Page 40: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/40.jpg)
4040
Getting Documentation About Modules
Getting Documentation About Modules
dir() – List of available functions and methodsmodule.__doc__ - module documentationmodule.function.__doc__ - function/method
documentation
Exampleimport osdir(os)os.rename.__doc__
dir() – List of available functions and methodsmodule.__doc__ - module documentationmodule.function.__doc__ - function/method
documentation
Exampleimport osdir(os)os.rename.__doc__
![Page 41: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/41.jpg)
4141
Third Party ModulesThird Party Modules
• Many others have developed modules and posted them to the Python Package Index (http://pypi.python.org/pypi/)
• Many others have developed modules and posted them to the Python Package Index (http://pypi.python.org/pypi/)
![Page 42: An Introduction to Python for GIS Specialists and Data Managers](https://reader037.fdocuments.in/reader037/viewer/2022102619/56813245550346895d98b65e/html5/thumbnails/42.jpg)
4242
ExercisesExercises
>>>import os
>>>dir(os)
>>>os.rename.__doc__
>>>import shutil
>>>shutil.__doc__
>>>dir(shutil)
>>>import os
>>>dir(os)
>>>os.rename.__doc__
>>>import shutil
>>>shutil.__doc__
>>>dir(shutil)