Pyautogui 使用 size() 获取两个整数
Pyautogui use size() to get two integers
所以我试图在 python 中创建一个机器人,为此我需要屏幕大小为两个整数(x 坐标和 y 坐标)。我在这种情况下使用 pyautogui,但函数 size() 只有 returns 一个字符串:
Size(width=2560, height=1440)
我如何将这些值 "extracting" 转换为整数变量?
编辑:我设法解决了我的问题,这是一些 spagetthi 代码,但我可以稍后清理它,以防万一有人遇到同样的问题:
import pyautogui
screen_size = str(pyautogui.size())
screen_size_x, screen_size_y = screen_size.split(",")
screen_size_x= screen_size_x.replace("Size(width=","")
screen_size_y = screen_size_y.replace("height=","")
screen_size_y = screen_size_y.replace(")","")
screen_size_y = screen_size_y.replace(" ","")
screen_size_x = int(screen_size_x)
screen_size_y = int(screen_size_y)
print(screen_size_x)
print(screen_size_y)
我在网上找到了多个使用 pyautogui.size() 的示例。在所有这些示例中,该方法 returns 一个包含宽度和高度的两项元组。所以看起来你的代码可以像这样简单:
screen_size_x, screen_size_y = pyautogui.size()
print(screen_size_x)
print(screen_size_y)
这显示在 pyautogui 文档的第一个示例中:https://github.com/asweigart/pyautogui/blob/master/README.md
如果您确实需要解析您提到的字符串,这里有一种更简洁的方法:
import re
str = "Size(width=2560, height=1440)"
m = re.search(r"width=(\d+).*height=(\d+)", str)
screen_size_x, screen_size_y = int(m.group(1)), int(m.group(2))
print(screen_size_x)
print(screen_size_y)
from inspect import getsource
print(getsource(pyautogui.size))
输出:
def size():
"""Returns the width and height of the screen as a two-integer tuple.
Returns:
(width, height) tuple of the screen size, in pixels.
"""
return Size(*platformModule._size())
更好的代码:
import pyautogui
x,y = pyautogui.size()
x,y=int(str(x)),int(str(y))
print(x)
print(y)
所以我试图在 python 中创建一个机器人,为此我需要屏幕大小为两个整数(x 坐标和 y 坐标)。我在这种情况下使用 pyautogui,但函数 size() 只有 returns 一个字符串:
Size(width=2560, height=1440)
我如何将这些值 "extracting" 转换为整数变量?
编辑:我设法解决了我的问题,这是一些 spagetthi 代码,但我可以稍后清理它,以防万一有人遇到同样的问题:
import pyautogui
screen_size = str(pyautogui.size())
screen_size_x, screen_size_y = screen_size.split(",")
screen_size_x= screen_size_x.replace("Size(width=","")
screen_size_y = screen_size_y.replace("height=","")
screen_size_y = screen_size_y.replace(")","")
screen_size_y = screen_size_y.replace(" ","")
screen_size_x = int(screen_size_x)
screen_size_y = int(screen_size_y)
print(screen_size_x)
print(screen_size_y)
我在网上找到了多个使用 pyautogui.size() 的示例。在所有这些示例中,该方法 returns 一个包含宽度和高度的两项元组。所以看起来你的代码可以像这样简单:
screen_size_x, screen_size_y = pyautogui.size()
print(screen_size_x)
print(screen_size_y)
这显示在 pyautogui 文档的第一个示例中:https://github.com/asweigart/pyautogui/blob/master/README.md
如果您确实需要解析您提到的字符串,这里有一种更简洁的方法:
import re
str = "Size(width=2560, height=1440)"
m = re.search(r"width=(\d+).*height=(\d+)", str)
screen_size_x, screen_size_y = int(m.group(1)), int(m.group(2))
print(screen_size_x)
print(screen_size_y)
from inspect import getsource
print(getsource(pyautogui.size))
输出:
def size():
"""Returns the width and height of the screen as a two-integer tuple.
Returns:
(width, height) tuple of the screen size, in pixels.
"""
return Size(*platformModule._size())
更好的代码:
import pyautogui
x,y = pyautogui.size()
x,y=int(str(x)),int(str(y))
print(x)
print(y)