Python recipes: Difference between revisions
From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs) |
Brian Wilson (talk | contribs) |
||
Line 13: | Line 13: | ||
import sys | import sys | ||
save_stdout = sys.stdout | |||
sys.stdout = open('file', 'w') | sys.stdout = open('file', 'w') | ||
print 'test' | print 'test' | ||
sys.stdout = save_stdout | |||
=== Writing a log === | === Writing a log === |
Revision as of 05:01, 18 December 2015
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 '2015-12-02 12:01'
Running commands
import subprocess try: retcode = subprocess.call("mycmd" + " myarg", shell=True) if retcode < 0: print >>sys.stderr, "Child was terminated by signal", -retcode else: print >>sys.stderr, "Child returned", retcode except OSError, e: print >>sys.stderr, "Execution failed:", e