Python

Python#

Operator-grade Python snippets. The handbook leans on Python for quick scripting on Linux, macOS, and Windows targets, including parsing arguments, reading and writing files, and shelling out to the operating system.

Template#

#!/usr/bin/env python3
#
# Usage: .py
#

from collections import namedtuple
from dataclasses import make_dataclass
from enum import Enum
from sys import argv
import re


def main():
    pass


###
## UTIL
#

def read_file(filename):
    with open(filename, encoding='utf-8') as file:
        return file.readlines()


if __name__ == '__main__':
    main()

Files#

Read a file line by line into a list (preserving newlines).

with open(fname) as f:
    content = f.readlines()

Read without newlines.

with open(fname) as f:
    content = f.read().splitlines()

Move a file to a destination folder.

os.rename(<filename>, dist_dir + os.path.sep + <filename>)

Get the working directory.

PWD = os.getcwd()

Write a file.

RESOURCE = "filename.txt"
fd = open(RESOURCE, 'w')
fd.write("first line\n")
fd.close()

Args#

Parse arguments with argparse.

parser = argparse.ArgumentParser()
parser.add_argument("-p", dest="payload", help="payloads", required=True)
parser.add_argument("-i", dest="interface", help="use interface", default="eth0")
args = parser.parse_args()
payload_type = args.payload

References#