栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

这年头写python代码庆祝生日成为时髦~

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

这年头写python代码庆祝生日成为时髦~

明天就是大年初四,我妈生日,作为一位学过python编程的新时代精神小伙,我要写代码当礼物!

代码的核心思想是用pyautogui记录鼠标坐标并控制鼠标在画图软件上写字,有数控板的话写字会更好看!

**

第一章 收集数据

**

import json
import time
import pyautogui

MyPositionList1 = []
MyPositionList2 = []
MyPositionList3 = []
MyPositionList4 = []
MyPositionList5 = []
for i in range(3):
    print(3-i)
    time.sleep(1)

#I
print("I")
for i in range(130):
    MyPositionX,MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList1.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList1)

for i in range(3):
    print(3-i)
    time.sleep(1)

#love
print("love")
for i in range(270):
    MyPositionX, MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList2.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList2)

for i in range(3):
    print(3-i)
    time.sleep(1)

#you
print("you")
for i in range(270):
    MyPositionX, MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList3.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList3)

#爱心
print("左")
for i in range(100):
    MyPositionX, MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList4.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList4)

print("右")
for i in range(100):
    MyPositionX, MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList5.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList5)
print('over')

with open('PositionFile1.json', 'w') as f:
    json.dump(MyPositionList1, f)
with open('PositionFile2.json', 'w') as f:
    json.dump(MyPositionList2, f)
with open('PositionFile3.json', 'w') as f:
    json.dump(MyPositionList3, f)
with open('PositionFile4.json', 'w') as f:
    json.dump(MyPositionList4, f)
with open('PositionFile4.json', 'w') as f:
    json.dump(MyPositionList5, f)

有时间空余挪鼠标,照着提示拿鼠标画就好了。

*不过代码属实太多,一点也不精简,由于有大量基本重复内容,我们用函数解决。

import json
import time
import pyautogui
def collect(TheWordIWrite,WriteTime,FileName):
    for i in range(3):
        print(3-i)
        time.sleep(1)
    MyPositionList = []
    print(TheWordIWrite)
    for i in range(WriteTime):
        MyPositionX, MyPositionY = pyautogui.position()
        MyPosition = (MyPositionX, MyPositionY)
        MyPositionList.append(MyPosition)
        time.sleep(0.01)
    print(MyPositionList)
    with open(FileName, 'w') as f:
        json.dump(MyPositionList, f)
collect("I", 130, "PositionFile1.json")
collect("love", 270, "PositionFile2.json")
collect("you", 270, "PositionFile3.json")
collect("左", 110, "PositionFile4.json")
collect("右", 110, "PositionFile5.json")

这样,比第一下好多了吧?

第二章 展示
import pyautogui
import json
import time

for i in range(3):
    print(3-i)
    time.sleep(1)


with open('PositionFile1.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')

with open('PositionFile2.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')

with open('PositionFile3.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')
#换颜色,坐标要自己测试
pyautogui.mouseUp(836, 57, button='left')
pyautogui.mouseDown(836, 57, button='left')
pyautogui.mouseUp(836, 57, button='left')

with open('PositionFile4.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')

with open('PositionFile5.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')

点击运行后记得切到画图软件,或者可以记录图标坐标,自行打开

不过同理很多废话,用函数精简~

import pyautogui
import json
import time
for i in range(3):
    print(3-i)
    time.sleep(1)
def show(file):
    with open(file, 'r') as f:
        poslist = json.load(f)
        print(poslist)
        print(type(poslist))
        for i in range(len(poslist)):
            print(poslist[i][0], poslist[i][1])
            pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
        pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')
show("PositionFile1.json")
show("PositionFile2.json")
show("PositionFile3.json")
pyautogui.mouseUp(836, 57, button='left')
pyautogui.mouseDown(836, 57, button='left')
pyautogui.mouseUp(836, 57, button='left')
show("PositionFile4.json")
show("PositionFile5.json")

nice! 看看效果

**

第三章 成品

**

咳咳,内噶,鼠标属实不好写字画画。

或许你可以加粗笔让它看起来更好看,这就给大家自己测试啦~

That’s all
Thank
You.

希望大家点赞鼓励一下~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号