该代码的目的是以一个文件作为输入,将所有字母改为小写,并去掉任何非字母字符。然后它应该打印出文件中每个单词的重复次数。在
#!/usr/bin/python
import sys
def main(argv):
try:
tf = open(sys.argv[1],"r")
except IOError:
print("The file ",tf," was not found")
sys.exit()
data = tf.read()
data.lower()
data.replace("-"," ")
validLetters = " abcdefghijklmnopqrstuvwxyz"
cleanData = ''.join([i for i in data if i in validLetters])
frequency = {}
words = []
words = cleanData.split()
for x in words:
if frequency.has_key(x):
frequency[x] = frequency[x] + 1
else:
frequency[x]
print sorted(frequency.values())
tf.close()
这是我在命令行中得到的:
^{pr2}$“我是青少年黑客”是文本文件的第一行。。在
你的脚本可能没问题,但你运行它的方式不正确。在
您正在启用
py_compile
模块该模块从命令行获取所有参数,包括文本文件,并在其中发现明显的语法错误。在
就这样运行:
(您可以先编译模块:
python -m py_compile q1_word_count.py
,在这种情况下,您可以运行.pyc
生成的字节码文件,而更改.py
文件将需要每次重新编译,以便在启动时获得很小的速度增益,而在执行时则没有,这是字节码编译,而不是动态编译。如果需要动态编译,请使用pypy
)相关问题 更多 >
编程相关推荐