画像ファイルへの保存
次のコードを実行したときの出力として、正しいものを1つ選べ。
import io
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2])
buf = io.BytesIO()
fig.savefig(buf, format="png")
print(buf.getvalue()[:4])
- A
b'JPEG' - B
b'<svg' - C
b'' - D
b'\x89PNG'
正解と解説を見る
正解:D
fig.savefig(ファイル名またはバッファ, format=..., dpi=...) で、画像として保存する。拡張子から形式が決まる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import io` | — |
| 2 | `import matplotlib.pyplot as plt` | — |
| 3 | `fig, ax = plt.subplots()` | — |
| 4 | `ax.plot([1, 2])` | — |
| 5 | `buf = io.BytesIO()` | — |
| 6 | `fig.savefig(buf, format="png")` | — |
| 7 | `print(buf.getvalue()[:4])` | — |
| 結果 | 実際の出力 | b'\x89PNG' |

- A
誤り。
format="png"を指定している。 - B
誤り。SVG ではなく PNG。
- C
誤り。データが書き込まれる。
- D
正しい。PNG ファイルは、先頭が
\x89PNGで始まる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。