Upload
jade-white
View
212
Download
0
Embed Size (px)
Citation preview
Browsing Directories
Copyright © Software Carpentry and The University of Edinburgh 2010-2011
This work is licensed under the Creative Commons Attribution License
See http://software-carpentry.org/license.html for more information.
Python
Python Browsing Directories
We can use Python to
Python Browsing Directories
We can use Python to
– Save data to files
Python Browsing Directories
We can use Python to
– Save data to files
– Read data from files
Python Browsing Directories
We can use Python to
– Save data to files
– Read data from files
But we might also want to
Python Browsing Directories
We can use Python to
– Save data to files
– Read data from files
But we might also want to
– See what files we have
Python Browsing Directories
We can use Python to
– Save data to files
– Read data from files
But we might also want to
– See what files we have
– Delete files
Python Browsing Directories
We can use Python to
– Save data to files
– Read data from files
But we might also want to
– See what files we have
– Delete files
– Group these into directories
Python Browsing Directories
We can use Python to
– Save data to files
– Read data from files
But we might also want to
– See what files we have
– Delete files
– Group these into directories
– Structure these directories into a tree
Python Browsing Directories
We could use the shell
Python Browsing Directories
We could use the shell
Our program will be a mixture of
– Python
Python Browsing Directories
We could use the shell
Our program will be a mixture of
– Python
– Shell commands
Python Browsing Directories
We could use the shell
Our program will be a mixture of
– Python
– Shell commands
This is not portable
Python Browsing Directories
We could use the shell
Our program will be a mixture of
– Python
– Shell commands
This is not portable
Do it all in Python
Python Browsing Directories
>>> from os import getcwd Import getcwd
from the os module
Python Browsing Directories
>>> from os import getcwd
>>> getcwd()
Python Browsing Directories
>>> from os import getcwd
>>> getcwd()
'/users/vlad' Current working directory
Python Browsing Directories
>>> from os import getcwd
>>> getcwd()
'/users/vlad'
>>> originaldir = getcwd() Save the current working
directory in a variable
Python Browsing Directories
>>> from os import getcwd
>>> getcwd()
'/users/vlad'
>>> originaldir = getcwd()
>>> print originaldir Use the variable
Python Browsing Directories
>>> from os import getcwd
>>> getcwd()
'/users/vlad'
>>> originaldir = getcwd()
>>> print originaldir
/users/vlad
Python Browsing Directories
>>> from os import listdir
Python Browsing Directories
>>> from os import listdir
>>> listdir('.')
vlad
bin musicmail papersdata
solar
notes.txt
pizza.cfg solar.pdf swc
Python Browsing Directories
>>> from os import listdir
>>> listdir('.')
vlad
bin musicmail papersdata
solar
notes.txt
pizza.cfg solar.pdf swc
Current working directory
Python Browsing Directories
>>> from os import listdir
>>> listdir('.')
['solar', 'mail', 'pizza.cfg', 'notes.txt',
'swc', 'data', 'papers', 'solar.pdf',
'bin', 'music']vlad
bin musicmail papersdata
solar
notes.txt
pizza.cfg solar.pdf swc
Python Browsing Directories
>>> from os import listdir
>>> listdir('.')
['solar', 'mail', 'pizza.cfg', 'notes.txt',
'swc', 'data', 'papers', 'solar.pdf',
'bin', 'music']vlad
bin musicmail papersdata
solar
notes.txt
pizza.cfg solar.pdf swc
Python Browsing Directories
>>> listdir('.')
Python Browsing Directories
>>> listdir(getcwd())Use the result of getcwd
as the input directory
to listdir
Python Browsing Directories
>>> listdir(getcwd())
['solar', 'mail', 'pizza.cfg', 'notes.txt',
'swc', 'data', 'papers', 'solar.pdf',
'bin', 'music']
Python Browsing Directories
>>> listdir(originaldir)Use a variable as the
input directory to listdir
Python Browsing Directories
>>> listdir(originaldir)
['solar', 'mail', 'pizza.cfg', 'notes.txt',
'swc', 'data', 'papers', 'solar.pdf',
'bin', 'music']
Use a variable as the
input directory to listdir
Python Browsing Directories
>>> listdir(originaldir)
['solar', 'mail', 'pizza.cfg', 'notes.txt',
'swc', 'data', 'papers', 'solar.pdf',
'bin', 'music']
>>> files = listdir(originaldir)
Python Browsing Directories
>>> listdir(originaldir)
['solar', 'mail', 'pizza.cfg', 'notes.txt',
'swc', 'data', 'papers', 'solar.pdf',
'bin', 'music']
>>> files = listdir(originaldir)
>>> print files
Python Browsing Directories
>>> listdir(originaldir)
['solar', 'mail', 'pizza.cfg', 'notes.txt',
'swc', 'data', 'papers', 'solar.pdf',
'bin', 'music']
>>> files = listdir(originaldir)
>>> print files
['solar', 'mail', 'pizza.cfg', 'notes.txt',
'swc', 'data', 'papers', 'solar.pdf',
'bin', 'music']
Python Browsing Directories
>>> for file in files: Remember the colon
Python Browsing Directories
>>> for file in files:
... print file
Remember the 4 spaces
Python Browsing Directories
>>> for file in files:
... print file
...
Remember RETURN to close the loop
Python Browsing Directories
>>> for file in files:
... print file
...
solar
pizza.cfg
notes.txt
swc
data
papers
solar.pdf
bin
music
vlad
bin musicmail papersdata
solar
notes.txt
pizza.cfg solar.pdf swc
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
>>> chdir('data')
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
>>> chdir('data')
>>> getcwd()
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'chdir changes the current
working directory
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
>>> listdir(getcwd())
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
>>> listdir(getcwd())
['morse.txt', 'pdb', 'planets.txt',
'amino_acids.txt', 'elements', 'sunspot.txt']
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
>>> listdir(getcwd())
['morse.txt', 'pdb', 'planets.txt',
'amino_acids.txt', 'elements', 'sunspot.txt']
>>> chdir(originaldir)
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
>>> listdir(getcwd())
['morse.txt', 'pdb', 'planets.txt',
'amino_acids.txt', 'elements', 'sunspot.txt']
>>> chdir(originaldir)
>>> getcwd()
Python Browsing Directories
>>> getcwd()
'/users/vlad'
>>> from os import chdir
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
>>> listdir(getcwd())
['morse.txt', 'pdb', 'planets.txt',
'amino_acids.txt', 'elements', 'sunspot.txt']
>>> chdir(originaldir)
>>> getcwd()
'/users/vlad'
Python Browsing Directories
>>> chdir('data')
bin data users tmp
/
root
imhotep larry vlad
data
Python Browsing Directories
>>> chdir('data')
>>> getcwd()
bin data users tmp
/
root
imhotep larry vlad
data
Python Browsing Directories
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
bin data users tmp
/
root
imhotep larry vlad
data
What Python considers to be
the current working directory
Python Browsing Directories
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
>>> CTRL-D
bin data users tmp
/
root
imhotep larry vlad
data
What Python considers to be
the current working directory
Python Browsing Directories
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
>>> CTRL-D
$ pwd bin data users tmp
/
root
imhotep larry vlad
data
What Python considers to be
the current working directory
Python Browsing Directories
>>> chdir('data')
>>> getcwd()
'/users/vlad/data'
>>> CTRL-D
$ pwd
'/users/vlad'bin data users tmp
/
root
imhotep larry vlad
data
What Python considers to be
the current working directory
What the shell considers to be
the current working directory
Python Browsing Directories
os Miscellaneous operating system interfaces
getcwd Get current working directorylistdir List directory contentschdir Change directory
May 2011
created by
Mike Jackson and Greg Wilson
Copyright © Software Carpentry and The University of Edinburgh 2010-2011
This work is licensed under the Creative Commons Attribution License
See http://software-carpentry.org/license.html for more information.