Download presentation
Presentation is loading. Please wait.
Published byGervase Davidson Modified over 9 years ago
1
Manipulating Directories and Files Copyright © The University of Edinburgh 2011 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. Python
2
Manipulating Directories and Files >>> from os import mkdir >>> mkdir('data') user
3
PythonManipulating Directories and Files >>> from os import mkdir >>> mkdir('data') userdata
4
PythonManipulating Directories and Files >>> from os import mkdir >>> mkdir('data') >>> listdir(getcwd()) ['data'] userdata
5
PythonManipulating Directories and Files >>> from os import mkdir >>> mkdir('data') >>> listdir(getcwd()) ['data'] >>> listdir('data') [] userdata
6
PythonManipulating Directories and Files >>> from os import mkdir >>> mkdir('data') >>> listdir(getcwd()) ['data'] >>> listdir('data') [] >>> mkdir('data') userdata
7
PythonManipulating Directories and Files >>> from os import mkdir >>> mkdir('data') >>> listdir(getcwd()) ['data'] >>> listdir('data') [] >>> mkdir('data') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists: 'data' userdata Cannot mkdir on an existing directory
8
PythonManipulating Directories and Files >>> mkdir('country/regions/towns') user
9
PythonManipulating Directories and Files >>> mkdir('country/regions/towns') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 2] No such file or directory: 'country/regions/towns' user mkdir cannot make nested directories
10
PythonManipulating Directories and Files >>> mkdir('country/regions/towns') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 2] No such file or directory: 'country/regions/towns' >>> from os import makedirs >>> makedirs('country/regions/towns') user mkdir cannot make nested directories but makedirs can
11
PythonManipulating Directories and Files >>> mkdir('country/regions/towns') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 2] No such file or directory: 'country/regions/towns' >>> from os import makedirs >>> makedirs('country/regions/towns') country regions towns user mkdir cannot make nested directories but makedirs can
12
PythonManipulating Directories and Files >>> from os import rmdir >>> rmdir('country/regions/towns') country regions towns user
13
PythonManipulating Directories and Files >>> from os import rmdir >>> rmdir('country/regions/towns') country regions user
14
PythonManipulating Directories and Files >>> from os import rmdir >>> rmdir('country/regions/towns') >>> rmdir('country') country regions user
15
PythonManipulating Directories and Files >>> from os import rmdir >>> rmdir('country/regions/towns') >>> rmdir('country') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists: 'country' country regions user rmdir cannot remove nested directories
16
PythonManipulating Directories and Files >>> from os import rmdir >>> rmdir('country/regions/towns') >>> rmdir('country') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists: 'country‘ >>> from os import removedirs >>> removedirs('country') rmdir cannot remove nested directories but removedirs can country regions user
17
PythonManipulating Directories and Files >>> from os import rmdir >>> rmdir('country/regions/towns') >>> rmdir('country') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists: 'country‘ >>> from os import removedirs >>> removedirs('country') rmdir cannot remove nested directories but removedirs can country user
18
PythonManipulating Directories and Files >>> from os import rmdir >>> rmdir('country/regions/towns') >>> rmdir('country') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists: 'country‘ >>> from os import removedirs >>> removedirs('country') rmdir cannot remove nested directories but removedirs can user
19
PythonManipulating Directories and Files >>> removedirs('country') 1.txt2.txt country regions user
20
PythonManipulating Directories and Files >>> removedirs('country') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists: 'country' 1.txt2.txt country regions user removedirs cannot remove directories with files
21
PythonManipulating Directories and Files >>> removedirs('country') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists: 'country' >>> from shutil import rmtree >>> rmtree('country') 1.txt2.txt country regions user removedirs cannot remove directories with files but rmtree can
22
PythonManipulating Directories and Files >>> removedirs('country') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists: 'country' >>> from shutil import rmtree >>> rmtree('country') user removedirs cannot remove directories with files but rmtree can
23
PythonManipulating Directories and Files >>> from os import remove >>> remove('1.txt') 1.txt2.txt datauser remove removes individual files
24
PythonManipulating Directories and Files >>> from os import remove >>> remove('1.txt') 2.txt datauser remove removes individual files
25
PythonManipulating Directories and Files >>> from os import rename >>> rename('A', 'B/D') A 1.txt2.txt B user rename renames directories C
26
PythonManipulating Directories and Files >>> from os import rename >>> rename('A', 'B/D') rename renames directories D 1.txt2.txt B user C
27
PythonManipulating Directories and Files >>> from os import rename >>> rename('A', 'B/D') >>> rename('B/D', 'C') rename renames directories The directory must not exist D 1.txt2.txt B user C
28
PythonManipulating Directories and Files >>> from os import rename >>> rename('A', 'B/D') >>> rename('B/D', 'C') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists rename renames directories The directory must not exist D 1.txt2.txt B user C
29
PythonManipulating Directories and Files >>> from os import rename >>> rename('A', 'B/D') >>> rename('B/D', 'C') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists >>> rename('B/D', 'C/D') rename renames directories The directory must not exist D 1.txt2.txt B user C To keep the same directory name, it must be provided explicitly
30
PythonManipulating Directories and Files >>> from os import rename >>> rename('A', 'B/D') >>> rename('B/D', 'C') Traceback (most recent call last): File " ", line 1, in ? OSError: [Errno 17] File exists >>> rename('B/D', 'C/D') rename renames directories The directory must not exist D 1.txt2.txt B user C
31
PythonManipulating Directories and Files >>> from os import rename >>> rename('A/1.txt', 'B/3.txt') A 1.txt2.txt B user rename also renames files C
32
PythonManipulating Directories and Files >>> from os import rename >>> rename('A/1.txt', 'B/3.txt') A 3.txt2.txt B user rename also renames files C
33
PythonManipulating Directories and Files >>> from os import rename >>> rename('A/1.txt', 'B/3.txt') >>> rename('B/3.txt', 'C') A 3.txt2.txt B user rename also renames files C A destination file name needn’t be given
34
PythonManipulating Directories and Files >>> from os import rename >>> rename('A/1.txt', 'B/3.txt') >>> rename('B/3.txt', 'C') A 3.txt2.txt B user rename also renames files C A destination file name needn’t be given as the source file name will be used
35
PythonManipulating Directories and Files >>> from shutil import move >>> move('A/1.txt', 'B/3.txt') move is like rename but more powerful
36
PythonManipulating Directories and Files >>> from shutil import move >>> move('A/1.txt', 'B/3.txt') move is like rename but more powerful. It preserves Permission bits, group and owner
37
PythonManipulating Directories and Files >>> from shutil import move >>> move('A/1.txt', 'B/3.txt') move is like rename but more powerful. It preserves Permission bits, group and owner Last access and modification times
38
PythonManipulating Directories and Files >>> from shutil import move >>> move('A/1.txt', 'B/3.txt') move is like rename but more powerful. It preserves Permission bits, group and owner Last access and modification times Other flags
39
PythonManipulating Directories and Files >>> from os import renames >>> renames('A/1.txt', 'B/D/3.txt') renames behaves like both rename makedirs A 1.txt2.txt B user
40
PythonManipulating Directories and Files >>> from os import renames >>> renames('A/1.txt', 'B/D/3.txt') renames behaves like both rename makedirs It creates any intermediate directories A 3.txt 2.txt B user D
41
PythonManipulating Directories and Files >>> from shutil import copytree >>> copytree('A', 'B') A 1.txt2.txt user copytree copies directories and files
42
PythonManipulating Directories and Files >>> from shutil import copytree >>> copytree('A', 'B') A 1.txt2.txt user B 1.txt2.txt copytree copies directories and files recursively It preserves Permission bits, group and owner Last access and modification times Other flags
43
PythonManipulating Directories and Files >>> from shutil import copyfile >>> copyfile('A/1.txt', 'B/3.txt') A 1.txt2.txt user B copyfile copies files
44
PythonManipulating Directories and Files >>> from shutil import copyfile >>> copyfile('A/1.txt', 'B/3.txt') A 1.txt2.txt user B 3.txt copyfile copies files
45
PythonManipulating Directories and Files >>> from shutil import copyfile >>> copyfile('A/1.txt', 'B/3.txt') >>> copyfile('B/3.txt', 'A') A 1.txt2.txt user B 3.txt copyfile copies files
46
PythonManipulating Directories and Files >>> from shutil import copyfile >>> copyfile('A/1.txt', 'B/3.txt') >>> copyfile('B/3.txt', 'A') Traceback (most recent call last): File " ", line 1, in ? File "/usr/local/lib/python2.4/shutil.py", line 48, in copyfile fdst = open(dst, 'wb') IOError: invalid mode: wb A 1.txt2.txt user B 3.txt copyfile copies files A destination file name must always be given
47
PythonManipulating Directories and Files >>> from shutil import copy >>> copy('A/1.txt', 'B') A 1.txt2.txt user B copy also copies files
48
PythonManipulating Directories and Files >>> from shutil import copy >>> copy('A/1.txt', 'B') A 1.txt2.txt user B 1.txt copy also copies files Unlike copyfile, no target file name needs to be given
49
PythonManipulating Directories and Files >>> from shutil import copy >>> copy('A/1.txt', 'B') A 1.txt2.txt user B 1.txt copy also copies files Unlike copyfile, no target file name needs to be given It also copies existing file permissions
50
PythonManipulating Directories and Files >>> from shutil import copy >>> copy('A/1.txt', 'B') >>> from shutil import copy2 >>> copy2('A/1.txt', 'B') A 1.txt2.txt user B 1.txt copy also copies files Unlike copyfile, no target file name needs to be given It also copies existing file permissions copy2 also copies files
51
PythonManipulating Directories and Files >>> from shutil import copy >>> copy('A/1.txt', 'B') >>> from shutil import copy2 >>> copy2('A/1.txt', 'B') A 1.txt2.txt user B 1.txt copy also copies files Unlike copyfile, no target file name needs to be given It also copies existing file permissions copy2 also copies files. It also copies Permission bits, group and owner Last access and modification times Other flags copytree uses copy2
52
PythonManipulating Directories and Files os Miscellaneous operating system interfaces mkdir Make a directory makedirs Make a directory and any intermediate directories rmdir Remove an empty directory removedirs Remove all empty directories in a path remove Remove a file rename Rename a file renames Rename a file, creating any intermediate directories shutil High-level file operations rmtree Remove a directory and all its contents move Move a file or a directory copytree Copy a directory and all its contents, using copy2. copyfile Copy a file’s contents copy Copy a file preserving the file permissions copy2Copy a file, preserving file permissions, group, owner, last access and modification times and flags
53
May 2011 created by Mike Jackson Copyright © The University of Edinburgh 2011 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.