2016-04-20 72 views
-1
#!/usr.byn/python3 

import struct 

class Fat: 
def __init__(self, fat): 
self._fat 

    def entryValue(self, cluster): 
    value = struct.unpackf=t('I', fat[cluster*4:cluster*4+4])[0] 
    return value 

    def isAllocated(self, cluster): 
    return self.entryValue(cluster)!=0 

    def nextCluster(self, cluster): 
     if (self.entryValue(cluster)==0 or 
     self.entryValue(cluster)==0x0fffffff): 
     return None 
      else: 
     return self.entryValue(cluster) 

    def clusterChain(self,cluster): 
    list1 =[] 
    while isAllocated: 
    for item in isAllocated: 
    continue 
    list1.append 
    value = 0 




''' make empty list, if cluster is allocated append it to list 
if not allocated start at new cluster, return list 
make do while loop''' 

def main(): 
with open('/home/louis/Downloads/fat-only.dd', 'rb') as f: 
fat=f.read() 
fat1=Fat(fat) 

由於我還在學習python,我仍然有一些代碼寫入問題,任何幫助將不勝感激。正如在我的第三種方法的評論中提到的那樣,我需要檢查是否已分配羣集,如果它已被添加到列表中,並且如果不是,則會進入下一個羣集。對於第三種方法如何繼續或改變什麼,我感到非常困惑,我知道至少我的前兩項在我以前尋求的幫助中很好。方法調用問題

+4

你應該更改標題不要在這裏得到downvoted,也是你的代碼是不縮進。 – Dodekeract

+0

請記住,python代碼塊是通過它的標識級別來定義的,與其他標記用於定義所述代碼塊的其他標記不同,其他標記用於定義所述代碼段 – Copperfield

+0

當我從電子郵件中複製並粘貼該代碼時,郵件,正在使用不同的筆記本電腦進行工作,所以通過電子郵件發送給自己並將其複製到此處,縮進級別全部搞砸了。以爲我做了縮進,雖然張貼,感謝指出。 –

回答

0

只是一些意見:

class Fat: 
    def __init__(self, fat): 
    self._fat # <------------------- this should be given a value 

def clusterChain(self,cluster): 
    list1 =[] 
    while isAllocated: # <---------- this doesn't actually call the function 
     for item in isAllocated: 
      continue 
     list1.append # <------------ this does nothing 
    value = 0 # <------------------- this looks undefined 
+0

好的感謝您的反饋意見,您指出我會試着說我想做的事情。對於第一個我不知道要添加什麼價值。對於第三種方法中的第二種,我試圖編寫for while循環。當list1.append中的第三個發現一個被分配的集羣應該被添加到列表中時,第四個仍然是未定義的。我只是在如何正確修復第三種方法方面畫了一個巨大的空白。 –