读取更多文件并查找最大值

2024-04-24 01:11:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目录中有4个文件.txt。 我的目标是:

1)运行查找最大发生次数的代码

2)计算每个文件的执行时间

3)将执行时间保存在csv文件中

4)打印执行时间的平均值

我已经做到了:


import timeit

text = open('testoprova.txt','r')
testo = str(text.read()).lower()

dizionario = dict()

for parole in testo.split():
    dizionario[parole] = dizionario.get(parole, 0) + 1

maxcount = max(zip(dizionario.values(), dizionario.keys()))
print(maxcount, "Tempo esecuzione:", timeit.timeit())

#____________________________________________________________________________________

text1 = open('testoprovadue.txt','r')
testo2 = str(text1.read()).lower()

dizionario = dict()

for parole in testo2.split():
    dizionario[parole] = dizionario.get(parole, 0) + 1

maxcount2 = max(zip(dizionario.values(), dizionario.keys()))
print(maxcount2, "Tempo esecuzione:", timeit.timeit())

#_____________________________________________________________________________________

text3 = open('testoprovatre.txt','r')
testo3 = str(text3.read()).lower()

dizionario = dict()

for parole in testo3.split():
    dizionario[parole] = dizionario.get(parole, 0) + 1

maxcount3 = max(zip(dizionario.values(), dizionario.keys()))
print(maxcount3, "Tempo esecuzione:", timeit.timeit())

#_____________________________________________________________________________________

text4 = open('testoprova4.txt','r')
testo4 = str(text4.read()).lower()

dizionario = dict()

for parole in testo4.split():
    dizionario[parole] = dizionario.get(parole, 0) + 1

maxcount4 = max(zip(dizionario.values(), dizionario.keys()))
print(maxcount4, "Tempo esecuzione:", timeit.timeit())
_____________________________________________________________

但我得到了这个错误信息:

(4, 'ciao') Tempo esecuzione: 0.042456
(4, 'il') Tempo esecuzione: 0.036894399999999994
Traceback (most recent call last):
  File "C:/Users/petti/PycharmProjects/untitled/Primo.py", line 37, in <module>
    maxcount3 = max(zip(dizionario.values(), dizionario.keys()))
**ValueError: max() arg is an empty sequence**

为什么?


Tags: intxtreadopenkeysziplowermax