2011-07-26 12 views
0

私は同様の問題の前に良い答えを得ましたが、私は質問した質問のスケーラビリティを考慮しませんでした。大量のテキストを貼り付けて改行したり、ドキュメントからすべての改行を削除したりすると、テキストが画面から消えてしまい、最後までスクロールすることはできません。だから私はファイルとしてテキストを開いて使用する方法を見たが、今はコードが正しく動作しません。
ここではコードです:python 2.7、open( 'file.txt')のカウンターを使用

import sys 
import os 
from collections import Counter 
def main(): 
    with open('garbledText.txt') as text: 
     print [k for k,v in Counter(text).items() if v<3] 
if __name__=='__main__': 
    main() 
私が変更した場合は「V < 1」に「< 3 V」ので、それが正しい方向に向かった私は空のリストを取得しますが、V <」でのように思えた

3 '私はすべての文字を取得します。
私がしようとしているのは、 'garbledText.txt'を解析して、1〜2回現れる文字を見つけることです。

答えて

1

text.read(),の代わりにtextを置き換えてください。最初の行は、行のコレクションであり、2番目の行の文字です。

from collections import Counter 

def main(): 
    with open('garbledText.txt') as text: 
     collection = Counter(text.read()) 
    print [char for char, times in collection.items() if times < 3] 

if __name__=='__main__': 
    main()