

以下のようなコードを書いてデータのファイルへの書き込みを試みたのですが、以下のようなエラーが出てしまいます...。  
どのように下のコードを修正すれば、簡潔にtextデータをファイルに書き込めますでしょうか...?教えていただけると助かります。(ちなみに自分が使っているpythonはpython2でした...。)

コード

[code]

       with open(text_file, 'w', encoding="utf-8") as fp:#エラーが発生してしまう場所
                        fp.write(text)
    
[/code]

エラー

[code]

        Traceback (most recent call last):
      File "ExtractText.py", line 36, in <module>
        with open(text_file, 'w', encoding="utf-8") as fp:
    TypeError: 'encoding' is an invalid keyword argument for this function
    
[/code]

ちなみにencoding引数を消すと以下のようなエラーになります... 。

コード

[code]

    with open(text_file, 'w') as fp:#エラーが発生してしまう場所
                    fp.write(text)
    
[/code]

エラー

[code]

        Traceback (most recent call last):
      File "ExtractText.py", line 37, in <module>
        fp.write(text)
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128)
    
[/code]


CC BY-SA 4.0
2018-12-26T06:02:36.670
51521
2019-05-03T19:15:49.353
2018-12-26T06:28:46.340
31249
31249
question
python テキストファイル python2 encoding
pythonにおけるopen関数のencoding引数について


プラットフォームのエンコーディングが違うのかな。  
encoding="shift_jis"とかにしてみたらできるかもしれません。


CC BY-SA 4.0
2018-12-26T06:08:54.437
51522
2018-12-26T06:08:54.437
29506
51521
answer


読み込み時ではなく、書き込み時の

[code]

    fp.write(text)
    
[/code]

でエラーが発生しているのではないでしょうか。

[code]

    for.write(text.encode("utf-8"))
    
[/code]

とできませんか？


CC BY-SA 4.0
2018-12-27T13:46:55.227
51567
2019-05-03T19:15:49.353
2019-05-03T19:15:49.353
29826
5997
51521
answer