0% found this document useful (0 votes)
35 views

Organizing Files: Copying Files and Folders

The document discusses various methods for organizing, copying, moving, deleting, and compressing files and folders in Python. It covers the shutil module for copying, moving, and deleting files and folders, as well as the send2trash and zipfile modules. Key methods include shutil.copy() and shutil.copytree() for copying files and folders, shutil.move() for moving them, and os.unlink(), os.rmdir(), and shutil.rmtree() for deleting. The zipfile module allows reading, extracting, and creating ZIP files in Python.

Uploaded by

narendraup
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Organizing Files: Copying Files and Folders

The document discusses various methods for organizing, copying, moving, deleting, and compressing files and folders in Python. It covers the shutil module for copying, moving, and deleting files and folders, as well as the send2trash and zipfile modules. Key methods include shutil.copy() and shutil.copytree() for copying files and folders, shutil.move() for moving them, and os.unlink(), os.rmdir(), and shutil.rmtree() for deleting. The zipfile module allows reading, extracting, and creating ZIP files in Python.

Uploaded by

narendraup
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Organizing Files

Copying Files and Folders


shutil.copy(source, destination) will copy the file at the path source to the folder at the path destination.

>>> import shutil, os


>>> os.chdir('C:\\')
>>> shutil.copy('C:\\spam.txt', 'C:\\delicious')
'C:\\delicious\\spam.txt'
>>> shutil.copy('eggs.txt', 'C:\\delicious\\eggs2.txt')
'C:\\delicious\\eggs2.txt'

shutil.copytree(source, destination) will copy the folder at the path source, along with all of its files and
subfolders, to the folder at the path destination

>>> import shutil, os


>>> os.chdir('C:\\')
>>> shutil.copytree('C:\\bacon', 'C:\\bacon_backup')
'C:\\bacon_backup

Moving and Renaming Files and Folders


shutil.move(source, destination) will move the file or folder at the path source to the path destination and will
return a string of the absolute path of the new location.
>>> import shutil
>>> shutil.move('C:\\bacon.txt', 'C:\\eggs')
'C:\\eggs\\bacon.txt'

To avoid overwriting, rename file


>>> shutil.move('C:\\bacon.txt', 'C:\\eggs\\new_bacon.txt')
'C:\\eggs\\new_bacon.txt'

Permanently Deleting Files and Folders


os.unlink(path) will delete the file at path.
os.rmdir(path) will delete the folder at path. This folder must be empty of any files or folders.
shutil.rmtree(path) will remove the folder at path, and all files and folders it contains will also be deleted.
import os
for filename in os.listdir():
if filename.endswith('.rxt'):
os.unlink(filename)

import os
for filename in os.listdir():
if filename.endswith('.rxt'):
#os.unlink(filename)
print(filename)

Safe Deletes with the send2trash Module


Using send2trash is much safer than Python’s regular delete functions, because it will send folders and files
to your computer’s trash or recycle bin instead of permanently deleting them.
>>> import send2trash
>>> baconFile = open('bacon.txt', 'a') # creates the file
>>> baconFile.write('Bacon is not a vegetable.')
25
>>> baconFile.close()
>>> send2trash.send2trash('bacon.txt')

Walking a Directory Tree


import os
for folderName, subfolders, filenames in os.walk('C:\\delicious'):
print('The current folder is ' + folderName)
for subfolder in subfolders:
print('SUBFOLDER OF ' + folderName + ': ' + subfolder)
for filename in filenames:
print('FILE INSIDE ' + folderName + ': '+ filename)
print('')
Compressing Files with the zipfile Module
Reading ZIP Files
>>> import zipfile, os
>>> os.chdir('C:\\') # move to the folder with example.zip
>>> exampleZip = zipfile.ZipFile('example.zip')
>>> exampleZip.namelist()
['spam.txt', 'cats/', 'cats/catnames.txt', 'cats/zophie.jpg']
>>> spamInfo = exampleZip.getinfo('spam.txt')
>>> spamInfo.file_size
13908
>>> spamInfo.compress_size
3828
>>> 'Compressed file is %sx smaller!' % (round(spamInfo.file_size / spamInfo.compress_size, 2))
'Compressed file is 3.63x smaller!'
>>> exampleZip.close()

Extracting from ZIP Files


>>> import zipfile, os
>>> os.chdir('C:\\') # move to the folder with example.zip
>>> exampleZip = zipfile.ZipFile('example.zip')
>>> exampleZip.extractall()
>>> exampleZip.close()

>>> exampleZip.extract('spam.txt')
'C:\\spam.txt'
>>> exampleZip.extract('spam.txt', 'C:\\some\\new\\folders')
'C:\\some\\new\\folders\\spam.txt'
>>> exampleZip.close()

Creating and Adding to ZIP Files


>>> import zipfile
>>> newZip = zipfile.ZipFile('new.zip', 'w')
>>> newZip.write('spam.txt', compress_type=zipfile.ZIP_DEFLATED)
>>> newZip.close()

You might also like