2017-06-24 22 views
-4

pyautoguiを使用して画面の特定領域のスクリーンショットを取得しています。私のスクリプトで何が起こっているのかを調べるために、各スクリーンショットをフォルダに保存したいと思います。私の考えは、カウンタを投げてスクリーンショット名に追加することでした。保存するファイルの名前を変更します

スクリーンショットのための通常のコードは次のとおりです。

pyautogui.screenshot('opponent.png', region=(177, 743, 635, 135)) 

代わりの名前opponentを使用して、私は名前がopponent + a .pngになりたいです。ループ内にa = a + 1を使用して毎回aを変更すると、変数aを追加する正しい方法がわかりません。ファイル名の

例は次のようになります。

opponent1.png 
opponent2.png 
opponent3.png 
opponent4.png 
... 

編集:

pyautogui.screenshot('opponent%d.png', region=(177, 743, 635, 135)) % won

これは私の可能性の重複は、このコードを試してみまし記載されていたことを質問オフに基づいてウォンは、スクリーンショットの対戦相手の可変カウントです。私が手にエラーがある:

TypeError: unsupported operand type(s) for %: 'Image' and 'int'

Iはまた、フォーマット溶液を使用しようとしたコード行を使用:

はTypeErrorを介しても

pyautogui.screenshot('opponent{0}.png', region=(177, 743, 635, 135)).format(won)

この 'NoneType' オブジェクトではありません呼び出し可能な

+1

(https://stackoverflow.com/questions/3367288/insert-variable-values-into-a-string-in-python)Pythonで文字列に変数の値を挿入] – jonrsharpe

+0

の可能性のある重複@ jonrsharpeこのポストに私を指摘してくれてありがとう、私はまだそれがどのように行われることを正確に理解していないですか? – Brandon

+0

これは、あなたがしたいことを正確に行うための3つの異なる方法を提供します。あなたがまだ苦労していること、またはなぜそれが不明なのかは分かりませんが、本当に理解できない場合は、どこにいらっしゃるのかを示すために[編集]してください。 – jonrsharpe

答えて

-1

十分な議論、ええ?私が言及する唯一の注意点は、(何らかの形で)このコードがあなたが写真を撮りたい地域の外で動くことを保証しなければならないということです。

>>> import pyautogui 
>>> a = 1 
>>> while True: 
...  image = pyautogui.screenshot('opponent%s.png' % a, region=(177, 743, 635, 135)) 
...  a = a+1 
...  if a > 6: 
...   break 
... 
関連する問題