2014-09-05 154 views
-1

當前我擁有此代碼。Python函數打開,寫入並使用diff參數調用

class FileOperations: 

def open_files(sys): 
    sys.DM = open('DM_FILE.txt','a') 
    sys.TM = open('TM_FILE.txt','a') 
    sys.AP = open('AP_FILE.txt','a') 

def write_header_to_files(auto): 
    global x,y,z 
    x= 'PRINT_PUB_CODE,PRINT_ACCT_NUM,HOME PHONE..' 
    y= 'PRINT_PUB_CODE,PRINT_ACCT_NUM,OFFICE PHONE,..' 
    z= 'PRINT_PUB_CODE,PRINT_ACCT_NUM,CCELLPHONE,..' 
    auto.DM_FILE.write('x') 
    auto.TM_FILE.write('y') 
    auto.AP_FILE.write('z') 

我使用

filehandle = FileOperations() 
filehandle.open_files() 
filehandle.write_header_to_files() 

調用腳本DIFF類我不確定如何調用單獨的文件,如果循環內打開,然後把它寫。

在幫助之後,這就是我所做的。

class FileOperations: 
    def open_files(self): 
    self.file= { 
     'DM':open('DM_FILE.txt','a'), 
     'TM':open('TM_FILE.txt','a'), 
     'AM':open('AP_FILE.txt','a'), 
     'DM1':open('DM_EMAIL_FILE.txt','a'), 
     'TM1':open('TM_EMAIL_FILE.txt','a'), 
     'AP1':open('AP_EMAIL_FILE.txt','a') 
       } 
def write_header_to_files(self): 
global x,y,z 
x= 'PRINT_PUB_CODE,PRINT_ACCT_NUM,.. 
y= 'PRINT_PUB_CODE,CO_NAME,PREFIX,.. 
z= 'PRINT_PUB_CODE,PREFIX,FIRST_NAME, 
self.write={ 
     'MD' : DM_FILE.write(x), 
     'MT' : TM_FILE.write(y), 
     'PA' : AP_FILE.write(z), 
     'MD1' : DM_EMAIL_FILE.write(x), 
     'MT1' : TM_EMAIL_FILE.write(y), 
     'PA1' : AP_EMAIL_FILE.write(z) 
       } 

真的很感激,如果有人能說的是正確的代碼爲我want.Also我怎樣才能從另一個調用腳本此功能。

回答

1
class FileOperations: 
    def __init__(self): 
     self.files = { 
      'DM' : open('DM_FILE.txt','a'), 
      'TM' : open('TM_FILE.txt','a'), 
      'AP' : open('AP_FILE.txt','a') 
     } 

    def write_header_to_file(self, file_id): 
     global x 
     self.files[file_id].write(x) 

filehandle = FileOperations() 
filehandle.write_header_to_file('DM') 
filehandle.write_header_to_file('TM') 
+0

我如何傳遞差異值? – Rajarshi 2014-09-05 20:10:51

+1

類中任何函數聲明的第一個參數是對類實例本身的引用(除了某些裝飾器)。你應該總是命名這個參數'self'。 – OregonTrail 2014-09-05 20:12:21

+0

filehandle.write_header_to_files(self)我得到了那個,但每個寫都是差異的,所以我怎麼得到self.DM和self.DM.write來調用 – Rajarshi 2014-09-05 20:17:08

相關問題