1. ホーム
  2. python

[解決済み] Python - 'str' オブジェクトに 'close' 属性がありません。

2022-02-14 19:03:48

質問

私が書いたこの数行のコードには、なぜclosing属性が必要ないのか、その理由を理解するのにとても苦労しています。

from sys import argv
from os.path import exists

script, from_file, to_file = argv

file_content = open(from_file).read()
new_file = open(to_file, 'w').write(file_content)

new_file.close()

file_content.close()

いろいろと他の方の投稿を読みましたが、そのスクリプトは私が現在学んでいるものよりもずっと複雑で、理由がわかりませんでした。

Learning Python the Hard Wayをやっていますが、何か参考になることがあればお願いします。

どのように解決するのですか?

file_content は、ファイルの内容を格納する文字列変数で、ファイルとは何の関係もありません。で開いたファイルディスクリプタは open(from_file) ファイルセッションは、ファイルオブジェクトがスコープを抜けた後(この例では .read() ).