Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-hashlib赢得';";拾起;在例行程序中删除文件_Python_Hashlib - Fatal编程技术网

Python-hashlib赢得';";拾起;在例行程序中删除文件

Python-hashlib赢得';";拾起;在例行程序中删除文件,python,hashlib,Python,Hashlib,我在编写的脚本中使用了hashlib func,但我无法让它获取指向它的文件-它只返回0kb文件的散列d41d8cd98f00b204e9800998ecf8427e 我这样称呼它:fHash=md5Checksum(f)其中f是文件的完整路径字符串 md5Checksum func是这里的一个提升:我已经使用显式键入的文件路径直接测试了第二个示例,它返回了正确的散列 我还以相同的方式使用了os.path.getsize方法(fSize=os.path.getsize(f)),即正确地拾取文件

我在编写的脚本中使用了hashlib func,但我无法让它获取指向它的文件-它只返回0kb文件的散列
d41d8cd98f00b204e9800998ecf8427e

我这样称呼它:
fHash=md5Checksum(f)
其中
f
是文件的完整路径字符串

md5Checksum func是这里的一个提升:我已经使用显式键入的文件路径直接测试了第二个示例,它返回了正确的散列

我还以相同的方式使用了
os.path.getsize
方法(
fSize=os.path.getsize(f)
),即正确地拾取文件

当我在代码中转储
f
字符串的内容,并将其与显式键入的路径进行比较时,我注意到字符串周围缺少
标记:

/home/../(500)夏日[2009]/11-Regina Spektor-Hero.mp3
来自“print f”

并从显式类型化路径:

print'text.txt的MD5校验和为',md5Checksum('/home/../deduder/test.txt')
(有效)

如果我手动向代码覆盖的路径添加
标记:

IOError:[Errno 2]没有这样的文件或目录:“'/home/../(500)夏日[2009]/11-Regina Spektor-Hero.mp3'

这让我怀疑我没有正确通过路径。如果这很重要的话,我在ubuntu上

编辑

我是个小丑。我已经在这上面呆了几天了,只是通过把它贴在这里并检查我注意到的缩进,我在md5Checker方法的过程中弄乱了其中一个。。。我已经修好了,这完全有效。谢谢你们让我检查。。。。(为了记录在案,我把
m.update(data)
行与中断线连成一行。现在这行不通了,是不是……)

def md5Checksum(filePath):
 fh = open(filePath, 'rb')
 m = hashlib.md5()
 # print "File being hashed: " + filePath
 while True:
  data = fh.read(8192)
  if not data:
   break
  m.update(data)
 return m.hexdigest()   

不知何故,我得到了缩进错位,不足以导致它倒下并给我一个错误,但足以使它不工作。答案在原始问题中发布。

我认为您不必将
添加到文件路径。但确实,您似乎对文件名有一些问题。您可以发布
md5Ch吗ecksum
方法?
print()
,显示字符串的内容,因此它不会显示python中表示字符串文字的单引号/双引号(它们不是字符串的一部分)。是否
print open(…).read()
工作?我已经修好了。我是个哑巴。我不确定是应该把它留给后代,还是删除这个问题。。。。