-1

コンテンツを含む foo.txt ファイルがあります

'w3ll' 'i' '4m' 'n0t' '4sed' 't0' 

'it'

そして、2文字を含むすべての単語を抽出しようとしています。つまり、出力ファイルには

4m
t0
it

私が試したことは、

with open("foo.txt" , 'r') as foo:
    listme = foo.read()

string =  listme.strip().split("'")

これにより、文字列が「記号」で分割されると思います。文字数が 2 に等しいアポストロフィ記号内の文字列のみを選択するにはどうすればよいですか?

4

4 に答える 4

0

スペース (またはコンマ) で区切られた引用語を読んでいるので、 csv モジュールを使用できます。

import csv

with open('/tmp/2let.txt','r') as fin, open('/tmp/out.txt','w') as fout:
    reader=csv.reader(fin,delimiter=' ',quotechar="'")
    source=(e for line in reader for e in line)             
    for word in source:
        if len(word)<=2:
            print(word)
            fout.write(word+'\n')

「out.txt」:

i
4m
t0
于 2013-07-01T15:07:29.863 に答える