Python写入文件

时间:2017-04-16 17:15:01

标签: python file hash

我想将随机生成的哈希值写入文本文件,但每次在文本文件中都没有文本。我能做什么? 这是我的代码:

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

所以它可以工作,但没有显示在我的桌面上的文本文件中。请帮忙

2 个答案:

答案 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循环之外,以及结束。每次打开它都会被清除。