|
- #!/usr/bin/env python
- import sys, string
- def find_string(filename, target_str):
- lines=open(filename).readlines()
- print lines,"\n"
- c=0
- for i in range(len(lines)):
- words=lines[i].split(' ')
- print words,"\n"
- c+=words.count("abc")
- print c,"\n"
- return c
- if __name__=='__main__':
- a=find_string(sys.argv[1], sys.argv[2])
- print a
复制代码
这是一个小python程序, 用来从一给定的文件中输出某一个词的出现次数. sys.argv[1]是文件名, sys.argv[2]是要取的词. 比如 find_word.py testfile "abc"
testfile 如下:
-----------------------------------------------------------
abc abc abcabc abcabcabcabc
aabc abccc abcabccabc abc abc
-----------------------------------------------------------
这个程序出现的问题是虽然能分辨出"abc"词还是"含有abc"的词, 但是读不出最后一个. 还有就是split的时候用的是" "(空格), 如果文件中有tab或是别的什么不可见字串,就会出错. 问题是如何能够读出正确的个数同时又能分辨多种分隔符. 刚学2天, 请勿见笑. |
|