pathlibで新しいフォルダを作成し、そこにファイルを書き込む 質問する

pathlibで新しいフォルダを作成し、そこにファイルを書き込む 質問する

私は次のようなことをやっています:

import pathlib

p = pathlib.Path("temp/").mkdir(parents=True, exist_ok=True)

with p.open("temp."+fn, "w", encoding ="utf-8") as f:
    f.write(result)

エラー メッセージ: AttributeError: 'NoneType' オブジェクトに属性 'open' がありません

明らかに、エラー メッセージに基づいて、mkdirが返されますNone

ジャン=フランソワ・ファーブルは次のような訂正を提案しました。

p = pathlib.Path("temp/")
p.mkdir(parents=True, exist_ok=True)

with p.open("temp."+fn, "w", encoding ="utf-8") as f:
    ...

これにより、新しいエラー メッセージが表示されました。

ファイル "/Users/user/anaconda/lib/python3.6/pathlib.py"、行 1164、open opener=self._opener)
TypeError: 整数が必要です (str 型を取得しました)

ベストアンサー1

以下を試してみてください:

p = pathlib.Path("temp/")
p.mkdir(parents=True, exist_ok=True)
fn = "test.txt" # I don't know what is your fn
filepath = p / fn
with filepath.open("w", encoding ="utf-8") as f:
    f.write(result)

filepathパスとして文字列を指定しないでください。メソッドを持つのはオブジェクトですopen

ソース

おすすめ記事