できない.dev

ファイルに書き込むには

テキストファイルへ書き込む基本形を各言語で示す。
上書きと追記の違い、文字化けを避けるエンコーディング指定までを扱う。

公開:

Python

with open("a.txt", "w", encoding="utf-8") as f:
    f.write("こんにちは\n")

with 文を使うと書き込み後にファイルが自動で閉じられ、バッファのフラッシュ漏れを防げる。
モード "w" は既存内容を上書きするため、末尾に足したいときは "a" を使う。

JavaScript

import { writeFile } from "node:fs/promises";
await writeFile("a.txt", "こんにちは\n", "utf8");

Node.js の fs/promises を使う書き方で、ブラウザでは動かない。
writeFile は既存ファイルを上書きするため、追記したいときは appendFile を使う。

TypeScript

import { writeFile } from "node:fs/promises";
await writeFile("a.txt", "こんにちは\n", "utf8");

書き方は JavaScript と同じで、引数や戻り値の型は @types/node が供給する。
戻り値は Promise<void> なので await で完了を待つ。

つまずき

書き込みが反映されない場合は、モード("w" と "a")の取り違えや、with / await でクローズや完了を待てていないことを疑う。
相対パスは実行時のカレントディレクトリを基準に解決される点にも注意する。