Python library for common shell-like script tasks.
Project description
Introduction
This project provides a Python 2.7/3.x library for common tasks especially when writing shell-like scripts. Some of the functionality overlaps with the standard library but the API is slightly modified.
Status
Currently, this project is in the development release stage. While this project is suitable for use, please note that there may be incompatibilities in new releases.
Release notes are maintained in the project changelog.
Requirements
Auxly should run on any Python 2.7/3.x interpreter without additional dependencies.
Installation
Auxly can be installed with pip using the following command: pip install auxly
Additionally, Auxly can be installed from source by running: python setup.py install
Usage
Auxly provides various convenience functions for common tasks. Functions that overlap with the standard library are designed to do what you would reasonably expect (POLA) and, when necessary, fail without throwing exceptions.
Auxly provides the following modules:
auxly - Top Level
auxly.filesys - File System
auxly.shell - Shell
The following are basic examples of Auxly (all examples can be found here):
examples/delete_1.py - Deletes all PYC files in the project.
Top Level
Start by importing Auxly into your Python script:
import auxly
Auxly will attempt to open files and URLs using the default application:
auxly.open("myfile.txt")
auxly.open("https://www.github.com/")
Auxly can tell you if the script is running as an admin:
auxly.isadmin()
Also in the top level is the auxly.throw() convenience function that allows exceptions to be thrown if desired.
File System
The auxly.filesys module provides various convenience functions for working with the file system.
Start by importing the file system module into your Python script:
import auxly.filesys as fs
Checking or changing the current working directory (CWD) is easy:
print(fs.cwd()) # Get the CWD.
fs.cwd("foo") # Set the CWD to `foo`.
with fs.Cwd(fs.homedir()): # Temporarily set CWD.
pass # do stuff here...
Copying or moving files is a snap:
fs.copy("foo.txt", fs.homedir()) # Simple file move.
fs.move("bar", fs.homedir()) # Entire directory copied.
Note that copy/move functions return a boolean. Miss your exceptions? Try the following:
fs.copy("foo.txt", "bar") or auxly.throw() # Throws/raises exception on failure.
Check if a file or directory is empty:
fs.isempty("foo.txt") # Works on files...
fs.isempty("bar") # ...or directories!
Need to make some directories:
fs.makedirs("bar/baz")
Delete files or directories:
fs.delete("bar") # Returns true if successful.
There’s also File and Path objects:
f = File("foo.txt")
f.write("hello")
f.append(" world")
f.read() # "hello world"
p = File.path # Path object
p.isfile() # True
p.isdir() # False
p.isempty() # False
Shell
The auxly.shell module provides various convenience functions for working with the system shell.
Start by importing the shell module into your Python script:
import auxly.shell as sh
Calling command line utilities is easy:
sh.call("ls")
Not sure if a utility is available on the shell? Try the following:
sh.has("ls")
# True
Call a utility while hiding the output:
sh.silent("ls")
Need to iterate over the stdout of a command? Just use:
for line in sh.iterout("cat myfile.txt"):
print(line)
Or get the stdout as a string:
sh.strout("ls")
Documentation
The full documentation for this project can be found here on Read the Docs.
Similar
The following projects are similar and may be worth checking out:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.