2012-06-20 30 views
-4

至於例如: 創建文件bit0.txt 文件裏面的內容是:如何讀取由Python字符串和讀分配後一個文件字符串列表

Port Command  ExpectedResult   Comments 

A  C   Ack Resp:\x43\x80 ; All flags bit of port A clear 
B  C   Ack Resp:\x43\x80 ; All flags bit of port B clear 
A  S001002   Ack Resp:\x06\x53 ; S command Change output 1 
A  C   Ack Resp:\x43\x81 ; port A bit 0 set 
B  C   Ack Resp:\x43\x81 ; port B bit 0 set 
A  Q   Ack Resp:\x51\x31 ; read change queue on port A 
A  C   Ack Resp:\x43\x80 ; port A bit 0 clear 
B  C   Ack Resp:\x43\x81 ; port B bit 0 set 
B  Q   Ack Resp:\x51\x31 ; read change queue on port B 
A  C   Ack Resp:\x43\x80 ; port A bit 0 clear 
B  C   Ack Resp:\x43\x80 ; port B bit 0 clear 

現在我必須通過閱讀該文件另一個Python程序和輸出都應該是這樣的:

閱讀文件後,API應返回:

result = [['A','C', 'Ack Resp:\x43\x80'], 
      ['B','C', 'Ack Resp:\x43\x80'], 
      ['A','S001002', 'Ack Resp:\x06\x53'], 
      ...............till end of file ] 
+1

[什麼都有你試過了?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)顯示一些你的代碼。並且環顧四周,對此有許多討論。 – gauden

+5

['import csv'](http://docs.python.org/py3k/library/csv.html?highlight=csv#csv)... – phg

回答

0

你可以import csv或自行編寫代碼。 有一個例子:

result = [] 
with open(bit0.txt) as f: 
    for index, l in enumerate(f): 
     if index > 1: 
      result.append((l.split(';')[0]).split()) 

result參數是要

或者可以定義一個function這樣的:

def helper(filename): 
    result = [] 
    with open(filename) as f: 
     for index, l in enumerate(f): 
      if index > 1: 
       result.append((l.split(';')[0]).split()) 
    return result 

print helper(bit0.txt) 

輸出是

[['A','C', 'Ack Resp:\x43\x80'], 
     ['B','C', 'Ack Resp:\x43\x80'], 
     ['A','S001002', 'Ack Resp:\x06\x53'], 
     ...............till end of file ] 
+0

感謝您的回覆....現在可以讀取文件和存儲在列表中... – Abhishek

相關問題