python用123进行堆栈_python - 用Python写入文件时数据被切断 - 堆栈内存溢出

我有以下代码使用二进制搜索对单词进行拼写检查。 它将要进行拼写检查的文件与作为字典的文件进行比较,并返回所有拼写错误的单词。

当我将拼写错误的单词打印到终端时,拼写检查器起作用了,但是现在我将其写到文件中时,它只能找到一部分单词。

IV还实现了计时器来对搜索进行计时

import re

import time

start_time = time.time()

f1=open('writefile.txt', 'w+')

def binS(lo,hi,target):

if (lo>=hi):

return False

mid = (lo+hi) // 2

piv = words[mid]

if piv==target:

return True

if piv

return binS(mid+1,hi,target)

return binS(lo,mid,target)

words = [s.strip("\n").lower() for s in open("words10k.txt")]

words.sort() # sort the list

text = open("shakespeare.txt" , encoding="utf8")

content = text.read().split(" ")

content = [item.lower() for item in content]

content = ' '.join(content)

content = re.findall("[a-z]+", content)

for w in content:

if not binS(0,len(words),w):

f1.write(w)

print("--- %s seconds ---" % (time.time() - start_time))

我有这段代码,然后通过打印到终端来工作。 (也是我怎么能在写出文件的每一行写一个字)

for w in content: if not binS(0,len(words),w): print(w)

打印到终端的搜索时间:2000秒

写入文件的搜索时间:38秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值