[pyar] NOVEDADES EXCLUSIVAS PARA PyAr!!!!

david weil tenuki en gmail.com
Sab Ene 7 00:12:06 ART 2012


2012/1/6 Guillermo Gonzalez <guillo.gonzo en gmail.com>:
> 2012/1/6 Lucio Torre <lucio.torre en gmail.com>:
>> 2012/1/6 Facundo Batista <facundobatista en gmail.com>:
>>> 2012/1/6 Roberto Alsina <ralsina en netmanagers.com.ar>:
>>>
>>>> Estaba el otro día haciendo un script tipo shell pero en python, y me
>>>> encontré con un problema que en shell es mas facil: ir a un directorio,
>>>> hacer algo, y despues volver.
>>
>>>    def __enter__(self):
>>>        self.old_dir = os.getcwd()
>>>        os.chdir(self.new_dir)
>>>
>>>    def __exit__(self, *_):
>>>        os.chdir(self.old_dir)
>>
>
> Y tambien podes hacer algo asi (stdlib al rescate):
>
> from contextlib import contextmanager
>
> @contextmanager
> def cd(path):
>    old_dir = os.getcwd()
>    os.chdir(path)
>    yield
>    os.chdir(old_dir)

yo lo suelo usar:

@contextmanager
def cd(path):
    old_dir = os.getcwd()
    os.chdir(path)
    try:
        yield
    finally:
        os.chdir(old_dir)

no agrega mucho pero..
-- 
 There is no dark side of the moon really. Matter of fact it's all dark.



More information about the pyar mailing list