python - 不理解错误读取不正确的权限
问题描述
我正在尝试使用 pyautogui 为游戏制作机器人,但是当这行代码运行时:
if py.locateOnScreen(r"C:\Users\molta\Documents\Pythons\Poison.png")!=None:
它返回此错误:
OSError: Failed to read C:\Users\molta\Documents\Pythons\Poison.png because file is missing, has improper permissions, or is an unsupported or invalid format
阅读此错误后,我检查了正确文件类型和文件路径正确的图片,除此之外,我还检查了 png 是 pyautogui 库支持的文件类型。因此,我能看到的唯一问题是它的权限不正确。因此,我的问题是,如果是这样,我如何纠正它,或者我如何自己检查
所有指针表示赞赏!
如果有帮助,这是我的完整代码,并且在该完整错误之后
import pyautogui as py
import winsound
from time import sleep as sl
Hello=[]
turn=0
while True:
if py.locateOnScreen(r"C:\Users\molta\Documents\Pythons\Poison.png")!=None:
if turn==0:
pyautogui.typewrite(["a","f","s"], interval=0.4)
elif turn==1:
pyautogui.typewrite(["a","e"], interval=0.4)
elif turn==2:
pyautogui.typewrite(["a","a","s"], interval=0.4)
elif turn==3:
pyautogui.typewrite(["d"], interval=0.4)
sl(1)
turn+=1
if turn==5:
pyautogui.typewrite(["a","d"], interval=0.4)
turn=0
elif py.locateOnScreen(r"C:\Users\molta\Documents\Pythons\sidekick1.png")!=None:
pyautogui.typewrite(["d"], interval=0.4)
sl(1)
elif py.locateOnScreen(r"C:\Users\molta\Documents\Pythons\sidekick2.png")!=None:
pyautogui.typewrite(["d"], interval=0.4)
sl(1)
else:
sl(1)
Hello = py.locateAllOnScreen(r"C:\Users\molta\Documents\Pythons\HP.png")
if len(Hello)==2:
break
Hello=[]
if py.locateOnScreen(r"C:\Users\molta\Documents\Pythons\onwards.png")!=None:
x,y=py.locateOnScreen(r"C:\Users\molta\Documents\Pythons\onwards.png")
py.click(x, y)
sleep(1)
elif py.locateOnScreen(r"C:\Users\molta\Documents\Pythons\Check.png")!=None:
winsound.Beep(1000, 100) # Beep at 1000 Hz for 100 ms
py.alert(text="Clear the captcha",title="__Alert__", button="Done")
Traceback (most recent call last):
File "C:/Users/molta/Documents/Pythons/coliseum bot'.py", line 7, in <module>
if py.locateOnScreen(r"C:\Users\molta\Documents\Pythons\Poison.png")!=None:
File "C:\Users\molta\AppData\Local\Programs\Python\Python37\lib\site-packages\pyscreeze\__init__.py", line 300, in locateOnScreen
retVal = locate(image, screenshotIm, **kwargs)
File "C:\Users\molta\AppData\Local\Programs\Python\Python37\lib\site-packages\pyscreeze\__init__.py", line 281, in locate
points = tuple(locateAll(needleImage, haystackImage, **kwargs))
File "C:\Users\molta\AppData\Local\Programs\Python\Python37\lib\site-packages\pyscreeze\__init__.py", line 146, in _locateAll_opencv
needleImage = _load_cv2(needleImage, grayscale)
File "C:\Users\molta\AppData\Local\Programs\Python\Python37\lib\site-packages\pyscreeze\__init__.py", line 113, in _load_cv2
"unsupported or invalid format" % img)
OSError: Failed to read C:\Users\molta\Documents\Pythons\Poison.png because file is missing, has improper permissions, or is an unsupported or invalid format
解决方案
刚遇到同样的问题,我找到了适合我的解决方案。我所做的是:
import cv2
img = cv2.imread(r"path")
y = pyautogui.locateOnScreen(img)
print(y)
推荐阅读
- paypal - PAYMENT.SALE.COMPLETED 未收到
- .net - 某些服务无法构建 - 在 Worker Service .Net Core 3.1(依赖注入)中验证服务描述符时出错
- google-sheets - 在后续查询中使用具有多个结果的查询 - Google 表格
- regex - Replacing a certain number of characters after a match in regular expression
- azure - Avoiding Access is Denied for Azure SQL External Data Source to Private BLOB on Virtual Network
- csv - Use python requests to download csv file
- algorithm - Why nCr of large number giving wrong answer
- javascript - Can you use different constructor arguments in an extended class in ES6?
- eclipse - How does Eclipse generate Javadoc?
- javascript - popup / banner - on click disappears banner and if the user reloads the page does not see banner if until closing and reopening browers