2017-07-14 48 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

相关问题