ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PyAutoGUI

2022-03-01 13:34:30  阅读:229  来源: 互联网

标签:PyAutoGUI pyautogui 鼠标 函数 100 屏幕 left


PyAutoGUI

安装

cmd Windows安装

pip install pyautogui

pycharm安装

![在这里插入图片描述](https://www.icode9.com/i/ll/?i=3072aad07a37471a9719b069253166b5.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5YyX5rO9b2w=,size_20,color_FFFFFF,t_

备忘录

导入 pyautogui

import pyautogui

通用功能

mouse = pyautogui.position()  # 返回当前鼠标 x 和 y 
screen = pyautogui.size()  # 当前屏幕分辨率宽高
flag = pyautogui.onScreen(100, 200)  # 如果 x & y 在屏幕内,则为真。

故障安全

pyautogui.PAUSE = 2.5 # 设置每次 PyAutoGUI 调用后 2.5 秒的暂停
pyautogui.FAILSAFE = True # 当故障安全模式是时,将鼠标移动到左上角将提高一个可以中止您的程序

鼠标功能

pyautogui.moveTo(0, 0, duration=0.2)  # 在0.2秒内移动鼠标到XY坐标
pyautogui.moveRel(200, 200, duration=1)  # 相对于当前位置移动鼠标 duration移动秒数
pyautogui.FAILSAFE = False
pyautogui.dragTo(0, 0, duration=1)  # 将鼠标拖动到 XY
pyautogui.dragRel(100, 100, duration=1)  # 相对于当前位置拖动鼠标
"""
鼠标拖动到 x & y 并点击
x : x坐标
y : y坐标
clicks : 点击次数
interval : 点击之间的秒数
button : 按键 
	参数 : LEFT、MIDDLE、RIGHT、PRIMARY、SECONDARY
"""
pyautogui.click(x=10, y=10, clicks=1, interval=1, button='left')
pyautogui.rightClick(x=moveToX, y=moveToY) # 鼠标移动到 x & y 并右键单击
pyautogui.middleClick(x=moveToX, y=moveToY) # 鼠标移动到 x & y 并中键单击
pyautogui.doubleClick(x=moveToX, y=moveToY) # 鼠标移动到 x & y 并左键双击
pyautogui.tripleClick(x=moveToX, y=moveToY) # 鼠标移动到 x & y 并执行三次单击
pyautogui.scroll(1000, x=1075, y=641)  # 执行鼠标滚轮的滚动
pyautogui.mouseDown(x=moveToX, y=moveToY, button='left') # 单个按钮向下和向上事件可以单独调用
pyautogui.mouseUp(x=moveToX, y=moveToY, button='left')

键盘功能

pyautogui.typewrite('Hello World!\n', interval=0.1)  # 用于输入文本,换行符是 Enter , interval = 每个字符间隔的秒数
"""
也可以传递键名列表
键名称的完整列表位于 pyautogui.KEYBOARD_KEYS 中。
"""
pyautogui.typewrite(['a', 'b', 'c', 'left', 'backspace', 'enter'], interval=0.5)
# 单个按钮向下和向上事件可以单独调用
pyautogui.keyDown(key_name)
pyautogui.keyUp(key_name)

消息框功能

pyautogui.alert('这将显示一些带有 OK 按钮的文本。')
pyautogui.confirm('这将显示文本并有一个确定和取消按钮。')
pyautogui.prompt('这允许用户输入一个字符串并按 OK。')

截图函数

screen = pyautogui.screenshot()  # 返回一个 Pillow/PIL 图片对象
foo = pyautogui.screenshot('foo.png')  # 返回 Pillow/PIL 图片对象,并将其保存到文件中
test = pyautogui.locateOnScreen('test.png')  # 返回找到的第一个位置(左、上、宽、高)

鼠标控制功能

屏幕和鼠标位置

屏幕上的位置由 X 和 Y 笛卡尔坐标表示。X 坐标从左侧的 0 开始,向右增加。与数学不同,Y 坐标从顶部的 0 开始,向下增加。

0,0       X increases -->
+---------------------------+
|                           | Y increases
|                           |     |
|   1920 x 1080 screen      |     |
|                           |     V
|                           |
|                           |
+---------------------------+ 1919, 1079

左上角的像素位于坐标 0, 0 处。如果屏幕的分辨率为 1920 x 1080,则右下角的像素将为 1919, 1079(因为坐标从 0 开始,而不是 1)。
屏幕分辨率大小由函数作为两个整数的元组返回。鼠标光标的当前 X 和 Y 坐标由函数返回。
例如:

>>> pyautogui.size()
(1920, 1080)
>>> pyautogui.position()
(187, 567)

这是一个简短的Python 3程序,它将不断打印出鼠标光标的位置:

#! python3
import pyautogui, sys
print('Press Ctrl-C to quit.')
try:
    while True:
        x, y = pyautogui.position()
        positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
        print(positionStr, end='')
        print('\b' * len(positionStr), end='', flush=True)
except KeyboardInterrupt:
    print('\n')

这是 Python 2 版本:

#! python
import pyautogui, sys
print('Press Ctrl-C to quit.')
try:
    while True:
        x, y = pyautogui.position()
        positionStr = 'X: ' + str(x).rjust(4) + ' Y: ' + str(y).rjust(4)
        print positionStr,
        print '\b' * (len(positionStr) + 2),
        sys.stdout.flush()
except KeyboardInterrupt:
    print '\n'

要检查屏幕上是否有 XY 坐标,请将它们(作为两个整数参数或具有两个整数的单个元组/列表参数)传递给函数,如果它们在屏幕边界内,则返回。

>>> pyautogui.onScreen(0, 0)
True
>>> pyautogui.onScreen(0, -1)
False
>>> pyautogui.onScreen(0, 99999999)
False
>>> pyautogui.size()
(1920, 1080)
>>> pyautogui.onScreen(1920, 1080)
False
>>> pyautogui.onScreen(1919, 1079)
True

鼠标移动

该函数会将鼠标光标移动到您传递它的 X 和 Y 整数坐标。可以将坐标的值传递给表示"当前鼠标光标位置"的值。

>>> pyautogui.moveTo(100, 200)   # 将鼠标移动到X (100) Y(200)处。
>>> pyautogui.moveTo(None, 500)  # 将鼠标移动到X (100) Y(500)处。
>>> pyautogui.moveTo(600, None)  # 将鼠标移动到X (600) Y(500)处。

通常,鼠标光标将立即移动到新坐标。如果希望鼠标逐渐移动到新位置,请传递第三个参数来表示移动应采用的持续时间(以秒为单位)。

>>> pyautogui.moveTo(100, 200, 2)   # 将鼠标移动到X的100,Y的200在2秒内

如果要将鼠标光标相对于其当前位置移动几个像素,请使用该函数。此函数具有与 类似的参数。

>>> pyautogui.moveTo(100, 200)  # 将鼠标移动到X (100) Y(200)处。
>>> pyautogui.move(0, 50)       # 将鼠标向下移动50像素。
>>> pyautogui.move(-30, 0)      # 将鼠标向左移动30像素。
>>> pyautogui.move(-30, None)   # 移动鼠标向左30像素。

鼠标拖动

PyAutoGUI 和函数具有与 和 函数相似的参数。此外,它们还有一个关键字,可以设置为 ,以及拖动时要按住的鼠标按钮。

>>> pyautogui.dragTo(100, 200, button='left')     # 按住鼠标左键拖动鼠标到X值为100,Y值为200  
>>> pyautogui.dragTo(300, 400, 2, button='left')  # 按住鼠标左键拖动鼠标到X为300,Y为400,超过2秒  
>>> pyautogui.drag(30, 0, 2, button='right')   # 按住鼠标右键拖动鼠标向左拖动30像素超过2秒

补间/缓动功能

补间是使鼠标移动花哨的额外功能。如果您不关心这一点,则可以跳过此部分。
例如:

>>> pyautogui.moveTo(100, 100, 2, pyautogui.easeInQuad)     # 开始慢,结束快
>>> pyautogui.moveTo(100, 100, 2, pyautogui.easeOutQuad)    # 开始快,结束慢
>>> pyautogui.moveTo(100, 100, 2, pyautogui.easeInOutQuad)  # 开始和结束要快,中间要慢
>>> pyautogui.moveTo(100, 100, 2, pyautogui.easeInBounce)   # 最后反弹
>>> pyautogui.moveTo(100, 100, 2, pyautogui.easeInElastic)  # 最后是橡皮筋

这些补间函数是从Al Sweigart的PyTweening模块复制的:https://pypi.python.org/pypi/PyTweening https://github.com/asweigart/pytweening 该模块不必安装即可使用补间函数。
如果要创建自己的补间函数,请定义一个函数,该函数在(表示鼠标移动的开始)和(表示鼠标移动的结束)之间采用单个 float 参数,并在 和 之间返回浮点值。

鼠标点击

该函数模拟鼠标在鼠标当前位置单击一个左键。"咔哒"被定义为按下按钮,然后向上释放。

>>> pyautogui.click()

要在单击之前合并调用,请为 and 关键字参数传递整数:moveTo()

>>> pyautogui.click(x=100, y=200)  # 移动到100,200,然后点击鼠标左键。  

要指定其他鼠标按钮来单击、传递 、或为关键字参数指定,请执行以下操作:‘left’‘middle’'right’button

>>> pyautogui.click(button='right')  # 右击鼠标

若要执行多次单击,请将整数传递给关键字参数。(可选)您可以将浮点数或整数传递给关键字参数,以指定两次点击之间的暂停量(以秒为单位)。例如:clicks

>>> pyautogui.click(clicks=2)  # 双击鼠标左键
>>> pyautogui.click(clicks=2, interval=0.25)  # 双击鼠标左键,但每次单击之间有四分之一秒的停顿
>>> pyautogui.click(button='right', clicks=3, interval=0.25)  # 三次点击鼠标右键,在两次点击之间暂停四分之一秒

作为一个方便的快捷方式,该功能将执行双击鼠标左键。它还具有可选的和关键字参数。例如:doubleClick()

>>> pyautogui.doubleClick()  # 双击左键

还有一个函数具有类似的可选关键字参数。tripleClick()
该函数具有可选参数和关键字参数。rightClick()

鼠标按下和鼠标悬停函数

鼠标单击和拖动由按下鼠标按钮和将其释放回来组成。如果要单独执行这些操作,请调用 and 函数。它们具有相同的 、 和

>>> pyautogui.mouseDown(); pyautogui.mouseUp()  # 这和点击鼠标左键是一样的
>>> pyautogui.mouseDown(button='right')  # 按下正确的按钮
>>> pyautogui.mouseUp(button='right', x=100, y=200)  # 将鼠标移动到100,200,然后松开右键向上。  

鼠标滚动

可以通过调用该函数并传递整数次的"单击"来模拟鼠标滚轮滚动。"点击"中的滚动量因平台而异。(可选)可以为 and 关键字参数传递整数,以便在执行滚动之前移动鼠标光标。例如:scroll()xy

>>> pyautogui.scroll(10)   # 向上滚动10“单击”
>>> pyautogui.scroll(-10)  # 向下滚动10“单击”
>>> pyautogui.scroll(10, x=100, y=100)  # 将鼠标光标移动到100,200,然后向上滚动10“单击”

在OS X和Linux平台上,PyAutoGUI还可以通过调用hscroll()函数来执行水平滚动。例如:

>>> pyautogui.hscroll(10)   # 向右滚动10“点击”
>>> pyautogui.hscroll(-10)   # 滚动左10“点击”

该函数是 执行垂直滚动的 包装器。

键盘控制功能

write()函数

主要键盘功能是 。此函数将键入传递的字符串中的字符。若要在按每个字符键之间添加延迟间隔,请为关键字参数传递 int 或 float。
例如:

>>> pyautogui.write('Hello world!')                 # 打印出“你好世界!”即刻
>>> pyautogui.write('Hello world!', interval=0.25)  # 输出“Hello world!”,每个字符后面有四分之一秒的延迟 

例如,您只能使用 的单字符键与 按 键,因此无法按 Shift 或 F1 键。write()

press(), keyDown(), keyUp()函数

若要按这些键,请调用该函数,并将其传递给来自 、 、 的字符串。
例如:

>>> pyautogui.press('enter')  # 按ENTER键
>>> pyautogui.press('f1')     # 按f1键
>>> pyautogui.press('left')   # 按左箭头键

该函数实际上只是 and 函数的包装器,它模拟按下一个键,然后将其释放起来。这些函数可以自己调用。例如,若要在按住 Shift 键的同时按三次向左箭头键,请调用以下命令:press(),keyDown(),keyUp()

>>> pyautogui.keyDown('shift')  # 按住Shift键
>>> pyautogui.press('left')     # 按左箭头键
>>> pyautogui.press('left')     # 按左箭头键
>>> pyautogui.press('left')     # 按左箭头键
>>> pyautogui.keyUp('shift')    # 释放Shift键

要按与按下多个键类似的键,请将字符串列表传递给 。例如:write()press()

>>> pyautogui.press(['left', 'left', 'left'])

或者您可以设置按压次数:left

>>> pyautogui.press('left', presses=3)

若要在每次按下之间添加延迟间隔,请为关键字参数传递 int 或 float。interval

hold()上下文管理器

为了方便持有密钥,该函数可以用作上下文管理器,并从 , , 等传递字符串,并且此密钥将在上下文块的持续时间内保留。

>>> with pyautogui.hold('shift'):
        pyautogui.press(['left', 'left', 'left'])

…等效于以下代码:

>>> pyautogui.keyDown('shift')  # 按住Shift键
>>> pyautogui.press('left')     # 按左箭头键
>>> pyautogui.press('left')     # 按左箭头键
>>> pyautogui.press('left')     # 按左箭头键
>>> pyautogui.keyUp('shift')    # 释放Shift键

hotkey()函数

为了方便按热键或键盘快捷键,可以传递几个键串,这些键串将按顺序按下,然后以相反的顺序释放。

>>> pyautogui.hotkey('ctrl', 'shift', 'esc')

…等效于以下代码:

>>> pyautogui.keyDown('ctrl')
>>> pyautogui.keyDown('shift')
>>> pyautogui.keyDown('esc')
>>> pyautogui.keyUp('esc')
>>> pyautogui.keyUp('shift')
>>> pyautogui.keyUp('ctrl')

若要在每次按下之间添加延迟间隔,请为关键字参数传递 int 或 float。

KEYBOARD_KEYS

['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(',
')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`',
'a', 'b', 'c', 'd', 'e','f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace',
'browserback', 'browserfavorites', 'browserforward', 'browserhome',
'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear',
'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete',
'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10',
'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20',
'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9',
'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja',
'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail',
'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack',
'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6',
'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn',
'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn',
'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator',
'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab',
'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen',
'command', 'option', 'optionleft', 'optionright']

消息框功能

alert()函数

>>> alert(text='', title='', button='OK')

显示一个简单的消息框,其中包含文本和单个"确定"按钮。返回单击的按钮的文本。

confirm()函数

>>> confirm(text='', title='', buttons=['OK', 'Cancel'])

显示一个带有"确定"和"取消"按钮的消息框。可以自定义按钮的数量和文本。返回单击的按钮的文本。

prompt() 函数

>>> prompt(text='', title='' , default='')

显示一个带有文本输入以及"确定"和"取消"按钮的消息框。返回输入的文本,如果单击了"取消",则返回"无"。

password() 函数

>>> password(text='', title='', default='', mask='*')

显示一个带有文本输入以及"确定"和"取消"按钮的消息框。键入的字符显示为 。返回输入的文本,如果单击了"取消",则返回"无"。

截图函数

PyAutoGUI 可以截取屏幕截图,将其保存到文件中,并在屏幕中找到图像。如果您有一个小图像,例如,需要单击的按钮并希望在屏幕上找到它,这将非常有用。这些功能由 PyScreeze 模块提供,该模块随 PyAutoGUI 一起安装。

屏幕截图功能需要枕头模块。OS X 使用该命令,该命令随操作系统一起提供。Linux 使用该命令,该命令可以通过运行 来安装。

screenshot() 函数

调用将返回一个 Image 对象(有关详细信息,请参阅枕头或 PIL 模块文档)。传递文件名字符串会将屏幕截图保存到文件中,并将其作为 Image 对象返回。

>>> import pyautogui
>>> im1 = pyautogui.screenshot()
>>> im2 = pyautogui.screenshot('my_screenshot.png')

在1920 x 1080屏幕上,该功能大约需要100毫秒 - 它不快,但并不慢。screenshot()

如果您不想查看整个屏幕的屏幕截图,还有一个可选的关键字参数。您可以传递要捕获的区域的左侧、顶部、宽度和高度的四个整数元组:region

>>> import pyautogui
>>> im = pyautogui.screenshot(region=(0,0, 300, 400))

定位功能

注意:从版本 0.9.41 开始,如果 locate 函数找不到提供的图像,它们将引发而不是返回 。
如果您有图像文件,则可以在屏幕上直观地找到它。例如,假设计算器应用正在您的计算机上运行,如下所示:
在这里插入图片描述
如果您不知道计算器按钮所在位置的确切屏幕坐标,则无法调用 and 函数。计算器每次启动时都可能出现在稍微不同的位置,导致您每次都重新找到坐标。但是,如果您有按钮的图像,例如 7 按钮的图像:moveTo(),click()
…您可以调用该函数来获取屏幕坐标。返回值是一个 4 整数元组:(左、上、宽、高)。可以传递此元组以获取该区域中心的 X 和 Y 坐标。如果在屏幕上找不到该图像,则 引发 。

>>> import pyautogui
>>> button7location = pyautogui.locateOnScreen('calc7key.png')
>>> button7location
Box(left=1416, top=562, width=50, height=41)
>>> button7location[0]
1416
>>> button7location.left
1416
>>> button7point = pyautogui.center(button7location)
>>> button7point
Point(x=1441, y=582)
>>> button7point[0]
1441
>>> button7point.x
1441
>>> button7x, button7y = button7point
>>> pyautogui.click(button7x, button7y)  # 点击找到7按钮的中心
>>> pyautogui.click('calc7key.png') # 要点击找到7按钮的中心的快捷方式版本

可选的关键字参数指定函数在屏幕上定位图像的准确性。如果函数由于像素差异可以忽略不计而无法定位图像,这将很有帮助:confidence

>>> import pyautogui
>>> button7location = pyautogui.locateOnScreen('calc7key.png', confidence=0.9)
>>> button7location
Box(left=1416, top=562, width=50, height=41)

注意:您需要安装 OpenCV 才能使用该关键字
该函数结合了和:locateCenterOnScreen(),locateOnScreen(),center()

>>> import pyautogui
>>> x, y = pyautogui.locateCenterOnScreen('calc7key.png')
>>> pyautogui.click(x, y)

在 1920 x 1080 屏幕上,定位函数调用大约需要 1 或 2 秒。这对于动作视频游戏来说可能太慢了,但适用于大多数目的和应用程序。

有几个"定位"功能。他们都开始看屏幕(或图像)的左上角,然后向右看,然后向下看。参数可以是

locateOnScreen(image, grayscale=False)- 返回(左,上,宽,高)在屏幕上首次找到的实例的坐标。如果在屏幕上找不到,则引发。imageImageNotFoundException
locateCenterOnScreen(image, grayscale=False)- 返回 (x, y) 坐标,该坐标是屏幕上第一个找到的 实例的中心。如果在屏幕上找不到,则引发。imageImageNotFoundException
locateAllOnScreen(image, grayscale=False)- 返回一个生成器,该生成器为图像在屏幕上的位置生成(左、上、宽、高)元组。
locate(needleImage, haystackImage, grayscale=False)- 返回 (左、 顶部、 宽度、 高度) 第一个找到的实例的坐标。如果在屏幕上找不到,则引发。needleImagehaystackImageImageNotFoundException
locateAll(needleImage, haystackImage, grayscale=False)- 返回一个生成器,该生成器(左、上、宽、高)元组,用于在 中找到的位置。needleImagehaystackImage
"查找全部"函数可以在 for 循环中使用,也可以传递给:list()

>>> import pyautogui
>>> for pos in pyautogui.locateAllOnScreen('someButton.png')
...   print(pos)
...
(1101, 252, 50, 50)
(59, 481, 50, 50)
(1395, 640, 50, 50)
(1838, 676, 50, 50)
>>> list(pyautogui.locateAllOnScreen('someButton.png'))
[(1101, 252, 50, 50), (59, 481, 50, 50), (1395, 640, 50, 50), (1838, 676, 50, 50)]

这些"定位"功能相当昂贵;他们可能需要整整一秒钟才能运行。加快速度的最佳方法是传递一个参数(一个 4 整数元组(左、上、宽、高))以仅搜索屏幕的较小区域,而不是全屏:region

>>> import pyautogui
>>> pyautogui.locateOnScreen('someButton.png', region=(0,0, 300, 400))

灰度匹配

(可选)您可以传递到定位函数以提供轻微的加速(约 30%左右)。这会降低图像和屏幕截图中的颜色饱和度,从而加快定位速度,但可能导致误报匹配。grayscale=True

>>> import pyautogui
>>> button7location = pyautogui.locateOnScreen('calc7key.png', grayscale=True)
>>> button7location
(1416, 562, 50, 41)

像素匹配

若要获取屏幕截图中像素的 RGB 颜色,请使用 Image 对象的方法:getpixel()

>>> import pyautogui
>>> im = pyautogui.screenshot()
>>> im.getpixel((100, 200))
(130, 135, 144)

或者作为单个函数,调用 PyAutoGUI 函数,它是以前调用的包装器:pixel()

>>> import pyautogui
>>> pix = pyautogui.pixel(100, 200)
>>> pix
RGB(red=130, green=135, blue=144)
>>> pix[0]
130
>>> pix.red
130

如果只需要验证单个像素是否与给定像素匹配,请调用该函数,向其传递它所表示颜色的 X 坐标、Y 坐标和 RGB 元组:pixelMatchesColor()

>>> import pyautogui
>>> pyautogui.pixelMatchesColor(100, 200, (130, 135, 144))
True
>>> pyautogui.pixelMatchesColor(100, 200, (0, 0, 0))
False

可选的关键字参数指定每个红色、绿色和蓝色值在仍然匹配时可以变化的程度:tolerance

>>> import pyautogui
>>> pyautogui.pixelMatchesColor(100, 200, (130, 135, 144))
True
>>> pyautogui.pixelMatchesColor(100, 200, (140, 125, 134))
False
>>> pyautogui.pixelMatchesColor(100, 200, (140, 125, 134), tolerance=10)
True

标签:PyAutoGUI,pyautogui,鼠标,函数,100,屏幕,left
来源: https://blog.csdn.net/qq_43108964/article/details/123199628

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有