回答編集履歴

1

Windows 環境での実行に関する修正

2025/05/01 03:32

投稿

melian
melian

スコア21118

test CHANGED
@@ -1,4 +1,5 @@
1
1
  Pathlib モジュールの `rename()` メソッドの場合、ファイルが既に存在する場合には既存のファイルを上書きします。
2
+ ※ Windows 環境ではエラー(FileExistsError: [WinError 183] )が発生するので、`Pathlib.Path.unlink()` で当該のファイルを削除してから `rename()` を実行します。
2
3
 
3
4
  ```python
4
5
  from pathlib import Path
@@ -8,5 +9,7 @@
8
9
 
9
10
  files = Path('.').glob('*.txt')
10
11
  for i in files:
11
- i.rename(new_folder / i)
12
+ new_path = new_folder / i
13
+ new_path.unlink(missing_ok=True)
14
+ i.rename(new_path)
12
15
  ```