拡張子や名前の置き換え
次のコードを実行したときの出力として、正しいものを1つ選べ。
from pathlib import Path
p = Path("a/b.txt")
print(p.with_suffix(".md").as_posix(), p.with_name("c.txt").as_posix())
- A
a/b.md a/c.txt - B
a/b.txt.md a/b.txt - C
b.md c.txt - D
a/b.md a/b.txt
正解と解説を見る
正解:A
Path.with_suffix(拡張子) は拡張子を、with_name(名前) はファイル名を、with_stem(語幹)(Python 3.9 以降)は拡張子を除く名前を置き換える。元のオブジェクトは変わらない。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `from pathlib import Path` | — |
| 2 | `p = Path("a/b.txt")` | — |
| 3 | `print(p.with_suffix(".md").as_posix(), p.with…` | — |
| 結果 | 実際の出力 | a/b.md a/c.txt |
- A
正しい。
with_suffixは拡張子を、with_nameはファイル名全体を置き換える。 - B
誤り。拡張子は置き換えられる。
- C
誤り。ディレクトリ部分は残る。
- D
誤り。
with_nameで名前が変わる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。