Python | utime: path should be string, bytes or os.PathLike エラーの原因と解決策

2023-02-26Python エラー,Python

Python | utime: path should be string, bytes or os.PathLike エラーの原因と解決策

Pythonの実行時に発生するエラー「utime: path should be string, bytes or os.PathLike」の原因と解決策について紹介しています。

TypeError: utime: path should be string, bytes or os.PathLike, not float
TypeError: utimeのパスは float ではなく、string、bytes、または os.PathLike にする必要があります

確認環境

Windows11 ローカル
Python python-3.11.1

utime: path should be string, bytes or os.PathLike エラーの原因

「utime: path should be string, bytes or os.PathLike」というPythonの実行エラーは「os」モジュールのutime()関数を利用している際に発生する可能性があるエラーです。

例えば以下のような事が、このエラーの発生原因にあります。

  • utime()の第一引数に指定するファイルへのパスの型が間違っている

utime: path should be string, bytes or os.PathLike エラーの発生例と解決策

「utime: path should be string, bytes or os.PathLike」エラーが発生するコード例とその解決策を紹介します。

utime()の第一引数に指定するファイルへのパスが間違っている

utime()の第一引数に指定するファイルへのパスの型が間違っている場合、同エラーは発生します。

import os

file = 12345

# ファイルの最終アクセス日時と最終更新日を書き換える
os.utime(file, ("2023-01-10 10:10:10", "2023-01-10 10:10:10"))

ファイルへのパスは基本的に文字列型である必要があります。
問題を解決するには、ファイルへのパスが格納されているはずの変数の値や型が間違っていないか確認します。

import os

file = "test.txt"

# ファイルの最終アクセス日時と最終更新日を書き換える
os.utime(file, ("2023-01-10 10:10:10", "2023-01-10 10:10:10"))