開発環境
- Windows 10 Pro(64bit)
問題
タイトル通りですが、Pythonのパッケージであるpyautoguiの中のlocateCenterOnScreen関数で、第一引数に画像のパスを指定するのですが、ここに、日本語を含んだパスを指定すると、エラーになってうまく動作しません。
解決策
画像は相対パスで指定できるので、下記のどちらか、
1.プログラムを実行中のディレクトリに、画像を置き、相対パスで読み込む
2.日本語以外の名前でディレクトリを新規作成し、その中に、画像を置き、相対パスで読み込む
で対処できます。これだと、実行中のディレクトリよりも上層のディレクトリに日本語が含まれていても、問題なく動作します。
サンプルコード
import pyautogui
# 同一ディレクトリにある場合
pyautogui.locateCenterOnScreen('screenshot.png')
# 下部ディレクトリにある場合(今回はimageディレクトリ)
pyautogui.locateCenterOnScreen('image\\screenshot.png')