我想将随机生成的哈希值写入文本文件,但每次在文本文件中都没有文本。我能做什么? 这是我的代码:
import hashlib
import string
from random import randint
import random
import time
rnd = randint(10,20)
while True:
rndChar = ""
for _ in range(rnd):
rndChar += random.choice(string.ascii_letters + string.digits)
md5out = hashlib.md5(rndChar).hexdigest()
float.fromhex('0.' + md5out[:16])
float.fromhex('0.' + md5out[:16])
print md5out
file = open('/home/testuser/Desktop/hash.txt', 'w')
file.write(str(md5out))
file.close()
控制台输出如下所示:
2720df62db5dd1881b011198280eb993
283eafdd484385b4396c34df58936c85
91aeb7daf22c53531b3f56b6d640a948
784c7aaf8fe24148f4ffef7376951385
49557f13c14a3022dbaae67f39d5af5e
881a4744d9bbd996b2408fccff40f521
21ff71063f55c91051b609ad40d31d7c
所以它可以工作,但没有显示在我的桌面上的文本文件中。请帮忙
答案 0 :(得分:0)
将其打开为file = open('/home/testuser/Desktop/hash.txt', 'a')
,因为'w'每次都会清除文本文件。
这是正确的代码 import hashlib 导入字符串 来自随机导入randint 随机导入 进口时间
rnd = randint(10,20)
while True:
rndChar = ""
for _ in range(rnd):
rndChar += random.choice(string.ascii_letters + string.digits)
md5out = hashlib.md5(rndChar).hexdigest()
float.fromhex('0.' + md5out[:16])
float.fromhex('0.' + md5out[:16])
print md5out
file = open('/home/testuser/Desktop/hash.txt', 'a')
file.write(str(md5out))
file.close()
答案 1 :(得分:0)
将文件的开头放在while循环之外,以及结束。每次打开它都会被清除。