それぞれがファイルを操作する必要があるさまざまな関数を構築したいと思います。これをデコレータで実装しました。
もっとpythonicにできるかどうか教えてください:
def open_file(func):
def a_wrapper(filename,separator,*args):
f = open(filename,'w')
return func(f,separator,*args)
return a_wrapper
@open_file
def write_multiple_items(file, sep, *args):
file.write(sep.join(args))
@open_file
def write_one_item(file,sep,name):
file.write(sep.join(name))
write_multiple_items('foo.txt','--',"Hello","World", "!!!!")
write_one_item('bar.txt','--',"Bye World !!!")
ファイルを閉じる必要がありますか? どうやって?