分类 硬件 下的文章

当你不在家,却想要给家里的电脑开机,你有以下几个方案:

让家里人帮忙

优点:可靠,有即时的反馈告诉你电脑状态
缺点:你得确保你家里有人,独居的朋友忽略这条

智能插座+上电自启

在bios里面设置好上电启动,当只能插座打开的时候电脑就自动开机了。不需要靠别人,自己随时能控制
不足之处是无法直接唤醒系统S3睡眠。另外还得额外用个智能插座来实现

开机棒

开机棒就是用一个MCU去控制你电脑的开机跳线,给MCU发送指令后导通主板跳线,机器开机。相当于帮你按了开机键
WX20211219-233003.png
缺点就是对电脑有侵入修改,如果你有多台电脑就要准备多个开机棒

局域网唤醒(Wake-on-LAN/WOL)

优点:可以自己控制,可以直接唤醒S3状态下的电脑,设备数量不限,只要在同一个广播域,都能唤醒
缺点:得在目标电脑广播域中有一个可以发唤醒包的设备,可以是路由器,旧手机,树莓派等等。。。

综合起来看,WOL的方案比较合适。因此某天跟某位不愿透露姓名的SwingFrog聊天的时候突发奇想,不如做一个小模块来实现WOL

- 阅读剩余部分 -

从朋友的群里看到这个图片,
突发奇想暴力找出图片所有单词的组合,然后检验每个单词组合是否合法

{% asset_img word.jpg %}
就可以找出图中所有单词了(就是闲着没事干(●´∀`●)


重点是检验单词合法性,Python有一个现成的库可以拿来用:NLTK

- 阅读剩余部分 -

收集一些Python的笔记

print 输出不换行:

print("hello world",end="")

删除字符串最后一个字符:

>>> str = "hello world"
>>> str = str[:-1]
>>> print(str)
hello worl

字符串拼接:

"%s,%s" % ("hello","world")

调用系统命令:

    import os
    os.system("ping 127.0.0.1")  #返回命令的退出状态码 
    os.popen("ping 127.0.0.1")   #返回命令的输出

模拟键盘输入:调用win32api实现,第一个参数为键位码
(键位码表:104键键盘按键码对照

    import win32api,win32con
    win32api.keybd_event(121, 0, 0, 0)    #模拟按F10
    win32api.keybd_event(121, 0, win32con.KEYEVENTF_KEYUP, 0)

列出模块可用变量名:

    import sys
    print(dir(sys))

使Python脚本可直接执行:

#!/usr/bin/env python3

终端中Python代码补全:

sudo pip3 install ipython
$ipython    发现新世界!

工厂函数:
一种可以记住自身状态的创建函数方式

def f(m):
    def g(x)
        return x**m
    return g
>>> square = f(2)
>>> square(2)
4
>>> cube = f(3)
>>> cube(2)
8