Python recipes: Difference between revisions
From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs) mNo edit summary |
Brian Wilson (talk | contribs) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
if not len(line): continue # skip blank lines | if not len(line): continue # skip blank lines | ||
# do stuff here | # 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 === | === Writing a log === | ||
Line 15: | Line 23: | ||
from datetime import datetime | from datetime import datetime | ||
datetime.now() # returns an object | datetime.now() # returns an object | ||
datetime.datetime(2015, 12, 2, 12, 0, 28, 8580) | datetime.datetime(2015, 12, 2, 12, 0, 28, 8580) | ||
datetime.now().strftime("%Y-%m-%d %H:%M") # returns a formatted string | datetime.now().strftime("%Y-%m-%d %H:%M") # returns a formatted string like '2015-12-02 12:01' | ||
=== 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 | |||
output = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0].splitlines() | |||
=== Read the contents of a spreadsheet (ODS) === | |||
PyUno is part of Apache OpenOffice. |
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.