Python context managers: son fáciles!
Yo estaba el otro día tratando de hacer cosas de shell scripting con python (como parte de un setup.py monstruo) y me molestaba que en shell es muy fácil hacer esto:
O esto:
O esto:
Y en python tenia que hacer esto, que es largo y feo:
Cuando en realidad quiero esto:
Por supuesto, eso no está. Entonces, pregunté, como se hace eso? Y tuve varias respuestas:
-
Usá Fabric:
-
No es difícil:
-
Es más fácil:
Está bueno, agreguémoslo a path.py path.py
-
Mejor atrapar excepciones:
Aprendí como hacer context managers, sobre contextlib, sobre fabric y sobre path.py. Nada mal para 15 minutos :-)
stackoverflow.com is also useful for such issues:
http://stackoverflow.com/qu...
Used in fabric: http://docs.fabfile.org/en/...
I’ve been using the shell for, like, six years, and I’ve never heard of `cd -`. This is going to save me some typing over the next six years. Thank you.
`cd -` is equivalent to `cd $OLDPWD` (the variable is managed by the shell), so you are not restricted to moving back to the previous directory; you can also do stuff like: `mv misplaced-file $OLDPWD`
I tend to use the dirstack a little differently. Sometimes cd - can take you strange places. But then again, popd'ing a few directories can also lead you astray.