1

私はこれを読んだ: Pythonの文字列から英数字以外のすべてを取り除く

そしてこれ: Python:スペースと英数字以外のすべてを削除します

よくわかりませんでしたが、自分のコードを少し試してみました。これは次のようになります。

import re

decrypt = str(open("crypt.txt"))

crypt = re.sub(r'([^\s\w]|_)+', '', decrypt)

print(crypt)

スクリプトを実行すると、次の答えが返されます: C:\ Users \ Adrian \ Desktop \ python> python tick.py ioTextIOWrapper namecrypttxt moder encodingcp1252

私はドキュメントからすべての余分なコードを取り除き、数字と文字だけを保持しようとしています。ドキュメント内には次のテキストがあります:http: //pastebin.com/Hj3SjhxC

私はここで割り当てを解決しようとしています: http ://www.pythonchallenge.com/pc/def/ocr.html

「ioTextIOWrappernamecrypttxtmoderencodingcp1252」の意味を知っている人はいますか?そして、文字と数字を除くすべてから適切にコードを取り除くために、どのようにコードをフォーマットする必要がありますか?

心から

4

2 に答える 2

5

str(open("file.txt"))あなたが思っていることをしません。 open()ファイルオブジェクトを返します。 ファイルの内容ではなくstr、そのファイルオブジェクトの文字列表現を提供します。ファイルの内容を読みたい場合は、を使用してください。open("file.txt").read()

または、より安全に、次のwithステートメントを使用します。

with open("file.txt") as f:
    decrypt = f.read()
crypt = ... 
# etc.
于 2013-01-03T22:00:15.653 に答える
3

代わりに、英数字を検索することもできます。このような:

print ''.join(re.findall('[A-Za-z]', decrypt))

そして、あなたも欲しいです:

decrypt = open("crypt.txt").read()
于 2013-01-03T22:00:41.747 に答える