2017-09-07 14 views
0
X = corpus.get("Andrew Shapiro") 

testsite_array = [] 

with X as my_file: 

    for line in my_file: 

     testsite_array.append(line) 

ここで、コーパスは二桁であり、Andrew Shapiroはその中の項目です。それは私に次のエラーを与える。辞書から文字列を追加するには?

File "C:/Users/Vrushab PC/Downloads/Dissertation/untitled0.py", line 71, in <module> 

with X as my_file: 

AttributeError: __enter__ 
+7

を:MY_FILEとしてオープン(X、R '')で :

一般的に、しかし、あなたはこのようにファイルを開くようなものを行うためのステートメントで使用しますX?コンテキストマネージャとして使用するために必要な '__enter__'と' __exit__'メソッド(https://docs.python.org/3/reference/datamodel.html#context-managers)を実装していますか? –

+2

@ ChristianDeanの関心事は別の言い方をしていますが、その辞書値に 'with'文を使用する動機は何ですか?なぜ 'with'を使うのですか? – John1024

+0

通常、あなたは "open(filepath)as my_file:"と言うでしょう。filepathは辞書のエントリではありません – citizen2077

答えて

0

文で使用するためには、オブジェクトは、Xは、この場合、オブジェクトは、方法及び出口方法を入力実装していなければなりません。全体のポイントは、それが例外の場合でさえオブジェクトが自分自身をきれいにすることができるということです。 try try:except:最終的にもっときれいにやり遂げました。

あなたの質問にお答えするには、私はあなたにXが何を期待しているかを知る必要があります。あなたの一時的なプレースホルダにmy_fileという名前をつけたので、Xはあなたが開くファイルパスであると思われますか?

あなたがしようとしていることの完全な例が参考になります。何が `です...

タホ

関連する問題