Python recipes: Difference between revisions
From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs) |
Brian Wilson (talk | contribs) |
||
Line 30: | Line 30: | ||
=== Running commands === | === Running commands === | ||
Run a process and watch its return code. | |||
import subprocess | import subprocess | ||
try: | try: | ||
retcode = subprocess.call("mycmd" + " myarg", shell=True) | retcode = subprocess.call("mycmd" + " myarg", shell=True) | ||
if retcode < 0: | if retcode < 0: | ||
print | print("Child was terminated by signal", -retcode) | ||
else: | else: | ||
print | print("Child returned", retcode) | ||
except OSError | except OSError as e: | ||
print | print("Execution failed:", e) | ||
Run a command and fetch its output | Run a command and fetch its output |
Latest revision as of 02:17, 13 March 2023
Here are code snippets I can't seem to keep in my head between uses.
Simple file reader
with open(filename) as fp: for line in fp.readlines(): line = line.rstrip("\r\n") # remove trailing newline line = line.lstrip(" \t") # remove leading whitespace if not len(line): continue # skip blank lines # do stuff here
Redirect stdout
import sys save_stdout = sys.stdout sys.stdout = open('file', 'w') print 'test' sys.stdout = save_stdout
Writing a log
Date stamps
from datetime import datetime datetime.now() # returns an object datetime.datetime(2015, 12, 2, 12, 0, 28, 8580) datetime.now().strftime("%Y-%m-%d %H:%M") # returns a formatted string like '2015-12-02 12:01'
Running commands
Run a process and watch its return code.
import subprocess try: retcode = subprocess.call("mycmd" + " myarg", shell=True) if retcode < 0: print("Child was terminated by signal", -retcode) else: print("Child returned", retcode) except OSError as e: print("Execution failed:", e)
Run a command and fetch its output
output = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0].splitlines()
Read the contents of a spreadsheet (ODS)
PyUno is part of Apache OpenOffice.