2017-07-14 6 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 Yeah :)しかし、 'convert_bytes()'はそれをどのように比較すべきかを示しています。 – SH7890

関連する問題