2017-07-14 50 views
1

在檢查MB中的文件大小時,我收到了使用Python的語法錯誤。在檢查文件大小時出現語法錯誤

我得到if....statement內的語法錯誤。

def createfile(request): 
     param = request.POST.get('param') 
     file_info = os.stat(param) 
     result = convert_bytes(file_info.st_size) 
     if result > 1 'MB' : 
      return render(request, 'plant/status.html', 
          {'message': "File size should be within 1 mb."}) 


def convert_bytes(num): 
    """ This function is used for measure file size """ 

    for xe in ['bytes', 'KB', 'MB', 'GB', 'TB']: 
     if num < 1024.0: 
      return "%3.1f %s" % (num, x) 
       num /= 1024.0 
+0

不知道你做了與否,但函數「convert_bytes」應該在函數「createfile」之前? –

+2

嘗試:'如果結果>'1 MB':' - 雖然這個條件沒有多大意義 –

+0

@MauriceMeyer有一個好點!試試看! –

回答

2

if result > 1 'MB' : 是你的問題所在。您正在比較result到一個整數1,並且您之後有一個字符串。也許你的意思是'1 MB'。這仍然不會幫助你,因爲通過'>'運算符比較字符串並不能真正起作用。將它與只是一個整數比較,無論是1還是1000(由於千字節)。嘗試類似的東西。

+0

@MosesKoledoye是啊:)但是'convert_bytes()'給出了他應該如何比較它。 – SH7890

相關問題