H
homecrow
Jungspund
Moin, ich hab ein komisches Problem und hoffe das mir hier Jemand sagen kann was genau da falsch läuft.
Stelle gerade ein script um das bis jetzt nur aus einer ekligen schleife bestanden hat so das alles in funktionen ausgelagert wird.
Allerdings klappt das was in der Schleife ohne Probleme, in der funktion nicht mehr.
Leider bekomme ich immer nur den return das es kein data file ist.
Wenn ich mir allerdings vor dem if not data:
ein print data mache dann bekomme ich binär als output also ist es doch data nur er meint das es kein data ist.
Kann mir Jemand sagen was hier falsch läuft?
Stelle gerade ein script um das bis jetzt nur aus einer ekligen schleife bestanden hat so das alles in funktionen ausgelagert wird.
Allerdings klappt das was in der Schleife ohne Probleme, in der funktion nicht mehr.
Code:
#!/usr/bin/python2.7
import os
import sys
import hashlib
path = '/tmp'
def md5hash (path):
filehash = open ( path, 'rb' )
hash = hashlib.md5()
while True:
data = filehash.read(8192)
if not data:
return (path, "Is No Data File")
hash.update( data )
hexhash = hash.hexdigest()
filehash.close()
return hexhash
for oDirPaths, oDirNames, oFiles in os.walk( path, True, None ):
for filename in os.listdir(oDirPaths):
if os.path.isfile( os.path.join ( oDirPaths, filename)):
dirname = os.path.basename( oDirPaths )
fullpath = os.path.join ( oDirPaths, filename )
filehash = md5hash ( fullpath )
print filehash
Leider bekomme ich immer nur den return das es kein data file ist.
Wenn ich mir allerdings vor dem if not data:
ein print data mache dann bekomme ich binär als output also ist es doch data nur er meint das es kein data ist.
Kann mir Jemand sagen was hier falsch läuft?