を解決して下さいランニング。は私がtecu.a2lと呼ばれるファイルのチェックサムをチェックし、いくつかの.md5ファイルと比較する簡単なチェックサムスクリプトを作成した簡単なチェックサム比較スクリプト
理解し、物事を容易にするために:
iはチェックサム1x2x3xでtecu.a2lてきたとしましょう。したがって、md5ファイル(正しく生成された場合)には同じチェックサム(1x2x3x)が必要です。 md5ファイルの1つに最新のtecu.a2lとは異なるチェックサムがあると、エラーが発生します。
私の説明をよく理解していないと、コードが空白を埋めることがあります。
import hashlib
import dst_creator_constants as CONST
import Tkinter
path_a2l = 'C:<path>\tecu.a2l'
md5 = hashlib.md5()
blocks = 65565
with open(path_a2l, 'rb') as a2l:
readA2L = a2l.read(blocks)
generatedMD5 = md5.hexdigest()
print "stop1"
ihx_md5_files = CONST.PATH_DELIVERABLES_DST
for file in ihx_md5_files:
print "stop2"
if file.endswith('.md5'):
print "stop3"
readMD5 = file.read()
if compare_checksums:
print "Yes"
# Add successful TkInter msg here
else:
print "No"
# Add error msg here
def compare_checksums(generatedMD5, readMD5):
if generatedMD5 == readMD5:
return True
else:
return False
このスクリプトを実行すると、何も起こりません。メッセージはありません。私がpython checksum.py
をcmdに入力すると、メッセージは返されません。だから私はいくつかのprint
ステートメントに何が問題になるかを見てみましょう。問題は、stop3
がコマンドプロンプトに表示されないことです。つまり、この問題はif file.endswith('.md5'):
文と関係しています。
私がこのfile.endswith()
の文章を私がこれに関連して書いた以前のスクリプトに使用したので、なぜそれが原因であるのか分かりません。
本当にうまくいけば、本当に、本当に、おそらく問題は別の場所です。 'CONST.PATH_DELIVERABLES_DST'の定義や印刷物を見せてくれますか? –
また、 'compare_checksums'は関数への参照です。 'compare_checksums()'を使って呼び出す必要があります。 –
これはちょうど 'path_a2l'とまったく同じです。私は単純に' ihx_md5_files'というディレクトリを手動で追加することができますが、それは助けになりませんでした。私も前に同じパス定義を使用していますので、問題はありません。括弧を追加しても、CMDは残念なことに 'stop3'を書いてくれませんでした。 –