Presentation is loading. Please wait.

Presentation is loading. Please wait.

Manipulating Directories and Files Copyright © The University of Edinburgh 2011 This work is licensed under the Creative Commons Attribution License See.

Similar presentations


Presentation on theme: "Manipulating Directories and Files Copyright © The University of Edinburgh 2011 This work is licensed under the Creative Commons Attribution License See."— Presentation transcript:

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.


Download ppt "Manipulating Directories and Files Copyright © The University of Edinburgh 2011 This work is licensed under the Creative Commons Attribution License See."

Similar presentations


Ads by Google