0 purchases
porter 0.1.5
Porter
Porter provides simple file operations.
License
MIT.
Installation
Using pip:
pip install porter
File management
Import porter:
import porter
Create a folder:
porter.mkdir('/foo/bar')
# The new directory 'bar' will be created.
Rename a file/directory:
porter.rename('/foo/bar.txt', 'file.txt')
>>> '/foo/file.txt'
porter.rename('/foo/bar', 'folder')
>>> '/foo/folder'
Remove a file/directory:
porter.remove('/foo/bar')
Copy a file/directory:
# Two ways same result
porter.copy('/foo/bar.txt', '/foo1/bar.txt')
porter.copy_to('/foo/bar.txt', '/foo1')
Move a file/directory:
# Two ways same result
porter.move('/foo/bar', '/foo1/bar')
>>> '/foo1/bar'
porter.move_to('/foo/bar', '/foo1')
>>> '/foo1/bar'
Ignore and force:
porter.mkdir('/foo/bar', ignore=True)
# If '/foo/bar' exists, porter will not create the folder and no error will occur.
# Ignore option can ONLY ignore the error of the existing destination file/directory.
porter.move('/foo/bar', '/foo1/bar', force=True)
# If '/foo1/bar' exists, porter will move the directory anyway.
Ignore and force are both available in ‘mkdir’, ‘copy’, ‘copy_to’, ‘move’, ‘move_to’ functions.
Archive:
porter.archive('/foo/bar')
>>> '/foo/bar.tar'
porter.archive('/foo/bar', 'archive', 'zip')
>>> '/foo/archive.zip'
porter.archive_to('/foo/bar', '/foo/bar1', 'archive')
>>> '/foo/bar1/archive.tar'
All supported archive types: ‘gztar’, ‘bztar’, ‘tar’, ‘zip’
class TargetFile:
bar = porter.TargetFile('/foo/bar.txt')
bar.src
>>> '/foo/bar.txt'
bar.name
>>> 'bar'
bar.ext
>>> 'txt'
bar.move_to('foo1')
bar.src
>>> '/foo1/bar.txt'
bar.remove()
# Then it will be removed.
class TargetDirectory:
"""
The structure of the directory:
- foo
- bar
- dir1
- f1.txt
- dir2
- f2.txt
- foo1
"""
bar = porter.TargetDirectory('/foo/bar')
bar.src
>>> '/foo/bar'
bar.list()
>>> {'dir1': {'f1.txt': None}, 'dir2': {'f2.txt': None}}
bar.files()
>>> ['f1.txt', 'f2.txt']
bar.directories()
>>> ['dir1', 'dir2']
bar.move_to('foo1')
bar.src
>>> '/foo1/bar'
bar.empty()
# All of the files in it will be removed
bar.remove()
# Then it will be removed.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.