質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1371閲覧

Pythonのpyautoguiでスクリーンショットを撮りたい

Masat

総合スコア13

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/12/06 11:58

Pythonでpyautoguiでスクリーンショットを撮りたい(マウスポインタの座標RGBを表示したい)

Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 03:13:28)
macOS Mojave

書籍を読みながら試していますがpyautoguiのスクリーンショットを撮る所でエラーが出てしまい解決ができなかった為質問させて頂きます。


ソースコード

import pyautogui
print('中断するにはCtrl-Cを押してください。')

try:
while True:
x, y = pyautogui.position()
position_str = 'x:' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
pixel_color = pyautogui.screenshot().getpixel((x,y))
position_str += ' RGB: (' + str(pixel_color[0]).rjust(3)
position_str += ', ' + str(pixel_color[1]).rjust(3)
position_str += ', ' + str(pixel_color[2]).rjust(3) + ')'
print(position_str, end='')
print('\b' * len(position_str), end='',flush=True)
except KeyboardInterrupt:
print('\n終了')

発生している問題・エラーメッセージ

エラーメッセージ

FileNotFoundError: [Errno 2] No such file or directory:

該当のソースコード

Traceback (most recent call last):
File "/Users/Masat/Desktop/mouseNow_2.py", line 11, in <module>
pixel_color = pyautogui.screenshot().getpixel((x,y))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pyscreeze/init.py", line 331, in _screenshot_osx
im = Image.open(tmpFilename)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PIL/Image.py", line 2609, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: '.screenshot2018-1206_20-43-27-760098.png'

試したこと

Python再インストール
pillow再インストール

Windows10でpythonをインストールし、同様のファイルを実行した所問題なく実行出来ましたのでmac起因の現象かと思います。
Image.pyの中身を見てみるも何故ファイルが見つからないのかがわからず困惑しています。

お手数をおかけしますがご回答いただけましたら幸いです。
よろしくお願い致します

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

pyscreeze ライブラリMojave にまだ対応していない ことが原因のようで、 同じ問題に悩んでいる方々の Issue が GitHub に切られています。今の所修正は commit されていません。

取り急ぎの対策としては、上記 Issue で bronsonavila さんが仰っているように、 pyscreeze/__init__.py の中の、 一時ファイル名を決めているこの箇所 を書き換え、 ドット以外の文字から始まるファイル名に変更する 必要があるようです。 bronsonavila さんは _screenshot へと修正なさっていました。恐らくは、ファイル名がドットから始まるドットファイル、つまり 隠しファイルの扱いについて Mojave で非互換な仕様変更が入った のであろうとは推測できるのですが、実際にどのような変更が入ったのかは私の調べる限りでは不明でした。

投稿2018/12/06 17:12

argparse

総合スコア1017

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Masat

2018/12/07 09:02

argparse様 ご教授いただきありがとうございます。 先程記載していただいたとおりにpyscreezeを書き換えた所、正常に動作いたしました。 暫く悩んで進まなかったので本当に助かりました。 又調べて頂きご回答くださったようで重ね重ね御礼申し上げます。 私はまだまだプログラミングの学習は始めたばかりなのですが、精進し私も他の方の役に立てるよう知識、技術を身に着けてい行きたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問