D
Dmitry Teslenko
Hello!
I've made some class that can be used with "with statement". It looks this way:
class chdir_to_file( object ):
....
def __enter__(self):
....
def __exit__(self, type, val, tb):
....
def get_chdir_to_file(file_path):
return chdir_to_file(file_path)
....
Snippet with object instantiation looks like this:
for s in sys.argv[1:]:
c = chdir_to_file( s )
with c:
print 'Current directory is %s' % os.path.realpath( os.curdir )
That works fine. I want to enable it to be used in more elegant way:
for s in ... :
with get_chdir_to_file( s ) as c:
c.do_something()
But python complains c is of NoneType and has no "do_something()". Am
I missing something?
I've made some class that can be used with "with statement". It looks this way:
class chdir_to_file( object ):
....
def __enter__(self):
....
def __exit__(self, type, val, tb):
....
def get_chdir_to_file(file_path):
return chdir_to_file(file_path)
....
Snippet with object instantiation looks like this:
for s in sys.argv[1:]:
c = chdir_to_file( s )
with c:
print 'Current directory is %s' % os.path.realpath( os.curdir )
That works fine. I want to enable it to be used in more elegant way:
for s in ... :
with get_chdir_to_file( s ) as c:
c.do_something()
But python complains c is of NoneType and has no "do_something()". Am
I missing something?