python - running commands from within a directory
Thu Apr 19, 2018
77 Words
A neat python snippet for jumping into a directory, running a script, and jumping out again, found on Stackoverflow, provided by Brian Hunt.
from subprocess import Popen, PIPE
import os
import sys
class cd:
"""Context manager for changing the current working directory
see https://stackoverflow.com/questions/431684/how-do-i-cd-in-python
"""
def __init__(self, newPath):
self.newPath = os.path.expanduser(newPath)
def __enter__(self):
self.savedPath = os.getcwd()
os.chdir(self.newPath)
def __exit__(self, etype, value, traceback):
os.chdir(self.savedPath)
with cd("~/blog/partiallyattended"):
title = new_post.title
process = subprocess.call(["git", "commit", "-m","`new post: `"+title], \
stdout=subprocess.PIPE)