Python recipes: Difference between revisions
From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs) mNo edit summary |
Brian Wilson (talk | contribs) |
||
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 | |||
sys.stdout = open('file', 'w') | |||
print 'test' | |||
=== Writing a log === | === Writing a log === |
Revision as of 04:48, 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 sys.stdout = open('file', 'w') print 'test'
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