Skip to content

Instantly share code, notes, and snippets.

@ox1111
Last active April 2, 2019 00:25
Show Gist options
  • Save ox1111/7656bab1bbb4fe4e4812a6996d604a9a to your computer and use it in GitHub Desktop.
Save ox1111/7656bab1bbb4fe4e4812a6996d604a9a to your computer and use it in GitHub Desktop.
file wirte ][ 추상클래스 사용하기
# -*- coding: utf-8 -*-
#
# write by kyoung chip , jang
#
# python 3.6
#
#
from abc import *
class CBaseFileWrite(metaclass = ABCMeta) :
def __init__ ( self ) :
self.filename = ''
def doOpen( self , root_dir , sub_dir , file_name ):
self.filename = "%s\%s\%s" % ( root_dir , sub_dir , file_name )
print ( self.filename )
return open( self.filename, 'w', encoding='UTF-8' )
@abstractmethod
def doWrite( self , root_dir , sub_dir , file_name , data ) :
pass
@abstractmethod
def doWrite( self , root_dir , sub_dir , file_name , vec= []) :
pass
class CFileWrite(CBaseFileWrite) :
def __init__ ( self ) :
self.f = ''
def doWrite( self , root_dir , sub_dir , file_name , data ) :
self.f = CBaseFileWrite.doOpen(self, root_dir, sub_dir, file_name )
self.f.write( str(data) )
self.f.close()
def doWrite( self , root_dir , sub_dir , file_name , vec=[] ) :
self.f = CBaseFileWrite.doOpen(self, root_dir, sub_dir, file_name )
for i in vec:
self.f.write( str(i) )
self.f.close()
if __name__ == '__main__':
c = CFileWrite()
c.doWrite("d:\\test","test1","test4.txt","aaa")
vec = []
vec.append("a")
vec.append("b")
vec.append("c")
c.doWrite("d:\\test","test1","test3.txt",vec)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment