मैंने हाल ही में एक दोस्त की मृत हार्ड ड्राइव से एक टन चित्रों को पुनर्प्राप्त किया और मैंने पाइथन में एक प्रोग्राम लिखना चाहता था करने के लिए:पायथन 3. फ़ाइल को लिखने की आवश्यकता है, यह देखने के लिए जांचें कि कोई लाइन मौजूद है या नहीं, फिर फ़ाइल को फिर से लिखें
चेक सभी फाइलों
के माध्यम से जाओ जांच उनके md5sum अगर md5sum एक पाठ फ़ाइल
में मौजूद है देखने के लिए अगर यह होता है, मुझे पता है डुप्लीकेट के साथ "पाया गया है "
यदि ऐसा नहीं होता है, तो MD5Sum को टेक्स्ट फ़ाइल में जोड़ें।
सभी डुप्लिकेट को हटाने का अंतिम लक्ष्य है। हालांकि, जब मैं इस कोड चलाने के लिए, मैं निम्नलिखित:
Traceback (most recent call last):
File "C:\Users\godofgrunts\Documents\hasher.py", line 16, in <module>
for line in myfile:
io.UnsupportedOperation: not readable
मैं यह पूरी तरह से गलत कर रहा हूँ या मैं बस कुछ गलत समझ रहा हूँ?
import hashlib
import os
import re
rootDir = 'H:\\recovered'
hasher = hashlib.md5()
with open('md5sums.txt', 'w') as myfile:
for dirName, subdirList, fileList in os.walk(rootDir):
for fname in fileList:
with open((os.path.join(dirName, fname)), 'rb') as pic:
buf = pic.read()
hasher.update(buf)
md5 = str(hasher.hexdigest())
for line in myfile:
if re.search("\b{0}\b".format(md5),line):
print("DUPLICATE HAS BEEN FOUND")
else:
myfile.write(md5 +'\n')
अपने खरोज के बारे में, चार रिक्त स्थान 8. के लिए बेहतर बहुत आसान हम सब के साथ-साथ पढ़ने के लिए होगा है। [पीईपी 8] देखें (http://www.python.org/dev/peps/pep-0008/#indentation)। – RyPeck