Simple useful Python Function
These are functions that I have been useful and flexible to me.
import sys import subprocess import string import socket import re import syslog import smtplib import os import sys, getopt from optparse import OptionParser # Function that does basic standard output def message(message): sys.stdout.write(message) sys.stdout.flush() #Get command line options then return the variables to be used in other parts of the script. def CliOptions(): """ Setup command-line parsing options """ parser = OptionParser() parser.add_option('-o', '--output', default = '', dest = 'output', help = 'Where to output the file to.') parser.add_option('-i', '--input', default = '', dest = 'input', help = 'The Input file.') parser.add_option('--TrueOrFalse', default = False, dest = 'TOF', help = 'True or false value.') return parser.parse_args() #Take the contents of data and write it in a file. def WriteFile(outputFile, outputInformation): fileHandle = open(outputFile + ".out", "w") fileHandle.write(outputInformation) fileHandle.close() #Read a file and remove newline and return charaters. Then return the data back. def readFileFunction(inputFile): InputFromFile = [] with open(inputFile, "r") as ins: for inputFileLineItem in ins: InputFromFile.append(line.rstrip('\r\n')) ins.close() return InputFromFile #Have it output to syslog def MsgLogging(msg): syslog.syslog(syslog.LOG_INFO, msg) #This function calls shell commands. Clean the output but removing the any newline and return charaters using lambda. def ExternalCommands(command): p1 = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) results = p1.stdout.readlines() resultsFromPopen = map(lambda s: s.rstrip('\r\n'), results) return resultsFromPopen
How to use the above functions:
#The messaging function: message ("Hello World\n") #For the CliOptions function, The function gets called, it getting the commandline arguments. The function will return data into an array. (options,args) = CliOptions() #For the msgLogging MsgLogging("Hello World") #For ExternalCommands results = ExternalCommands("ls /") #For readFileFunction results = readFileFunction(pathToFile) #For WriteFile WriteFile("/tmp/test.txt", "Hello World")