我需要从文件中读取,两个字符串,一个静态'来自文件的字符串,以及一个随机动态生成的字符串,也写在文件上。
然后,将随机生成的字符串中的一个字符替换为另一个字符。
重复这个过程。直到我得到"静态"文件中的字符串,在这种情况下"这是一个字符串"。
我很遗憾试图实现这一目标,这是我到目前为止所做的:
import string
import random
import os
import re
file = open('file.dat', 'r')
file=file.read().split(',')
print file
def id_generator(size=28, chars=string.ascii_uppercase + string.digits):
return ''.join(random.choice(chars) for _ in range(size))
if os.path.exists('newfile.txt'):
os.remove('newfile.txt')
else:
file = open("newfile.txt", "w")
file.write(id_generator())
file.close()
if re.search(r"THIS IS A STRING", file):
print("success!")
我试图用re
模块实现这个目标,因为它应该逐个字符地读取,在随机生成的字符串中找到它的位置。
不仅要比较,还要找到匹配字符的位置(如果有的话)
file.dat
文件包含THIS IS A STRING
字符串,我将其称为'静态字符串。一,它没有变化,应该由随机生成的过程匹配。
newfile.txt
打印随机生成的字符串。
因此,简而言之,我如何逐个字符地阅读file.dat
字符串,newfile.txt
上随机生成的字符串也一样?
我希望我已经解释过了自己。
答案 0 :(得分:1)
至少,你应该改变这个
file=file.read().split(',')
print file
和这个
if re.search(r"THIS IS A STRING", file):
print("success!")
到这个
data=file.read().split(',')
print data
和这个
if re.search(r"THIS IS A STRING", data):
print("success!")
打开输出文件时丢失文件内容:
else:
file = open("newfile.txt", "w")