我想完成的工作:從文件中的行中拉出最後8個字符,將它們分成兩個字符塊,比較這些字符與我的字典塊,並列出結果。這實際上是我在Python中做的第一件事,而我的頭腦在旋轉着所有的答案。
我想我需要基本的游泳訓練,而且每個答案似乎都是世界記錄自由潛水的入門書。切片只使用'with open'和'readline'在文件的最後一行工作
我使用下面的代碼(現在我有過H4 H1的評論,因爲它沒有返回那是在我的字典鍵):
d1 = {'30': 0, '31': 1, '32': 2, '33' : 3, '34': 4, '35': 5, '36': 6, '37': 7, '38': 8, '39': 9,
'41': 'A', '42': 'B', '43': 'C', '44': 'D', '45': 'E', '46': 'F'}
filename = raw_input("Filename? > ")
with open(filename) as file:
for line in iter(file.readline, ''):
h1 = line[-8:-6]
h2 = line[-6:-4]
h3 = line[-4:-2]
h4 = line[-2:]
#h1 = d1[h1]
#h2 = d1[h2]
#h3 = d1[h3]
#h4 = d1[h4]
print h1,h2,h3,h4
這裏是txt文件,我的一部分使用作爲輸入:
naa.60000970000192600748533031453442
naa.60000970000192600748533031453342
naa.60000970000192600748533031453242
naa.60000970000192600748533031453142
naa.60000970000192600748533031434442
naa.60000970000192600748533031434342
naa.60000970000192600748533031434242
naa.60000970000192600748533032363342
當我運行我的腳本,這裏是由上面的代碼生成的輸出:
最後一行看起來完全如我會期待。所有其他線路已經移動或已經放下字符。我對此感到不知所措......我嘗試了許多不同的方法來在Python中打開文件,但一直無法讓它們循環,或者遇到其他問題。
有沒有簡單的解決方法我只是想在這裏失蹤?謝謝,j
完美的工作!感謝帝斯曼。 我的輸出現在顯示爲這樣(我把h1 - 4放回): 文件名? > luns.txt 3 4 A 0 3 4 B 0 ... 最後一件事....是有一個簡單的方法來去除4個結果之間的空間?我目前正在使用以下語句打印它們: print h1,h2,h3,h4 我嘗試了h1 + h2 + h3 + h4,但它增加了數字,而不是將它們彼此相鄰打印。 – FooPlinger
剛剛算出來: print「VM ID ----%s VMAX Lun ---」%line, print'%s%s%s%s'%(h1,h2,h3,h4) VM ID ---- naa.60000970000192600748533031453142 VMAX Lun --- 1E1B – FooPlinger