LeetCode-Word Search II Solution

Given an m x n board of characters and a list of strings words, return _all words on the board

2021-03-07 · 2 min · 318 words · Garlic Space

Linux跨文件系统的文件夹和文件映射关系

Everything is a file 是Unix的设计理念,由其派生的Linux也如此。

2021-03-06 · 3 min · 456 words · Garlic Space

mount操作导致磁盘数据丢失

cenos7X86_64 + openssh

2021-03-02 · 2 min · 308 words · Garlic Space

DIY esp8266 小盒子

前些天看到用esp8266开发的小盒子,按照教程https://www.instructables.com/3D-Printer-Monitor-Wemos-D1-Mini-ESP8266/操作了一下。 3D打印的外壳 作者提供了3D模型 https://www.thingiverse.com/thing:2884823, 我是使用速加网打印的, 质量和价格还不错,大概20元左右不含运费。 可能芯片规格不一样, 如果有打印机的话可以根据芯片尺寸,把盒子厚度加大一些。 相关芯片联接 主要是两个芯片: ESP8266 D1 Mini:这个普通就可以, 10元左右。 0.96 OLED : 这个建议买老款的, 新款的屏幕有些小。10元左右。 芯片链接及焊接: 焊接完成后 这里需要注意的是看好GND和5V接口,8266与OLED对接时线不要接错了, 将5V接到GND上, 烧坏了一块OLED的板子。 焊接:由于是第一次弄,大概来回焊接了3,4次,温度太高容易烧到板子, 太低焊锡又化不了。最好能固定一下, 我是拿透明胶固定了一下。 应用刷新 1 开发环境 使用Arduino IDE,配置附加的电路板的配置链接http://arduino.esp8266.com/stable/package_esp8266com_index.json , 开发版选择“WeMos D1 R2 & mini” 2 相关库选择 WiFiManager Json:arduinojson OLED:esp8266-oled-ssd1306 3 源码应用下载 https://github.com/Qrome/printer-monitor 源码及配置调整地方: Settings.h,注释掉以下几行。 1 2 3 4 //#include <WiFi.h> //#include <WiFiClient.h> //#include <WiFiServer.h> //#include <WiFiUdp.h> 配置选择了, “WeMos D1 R2 & mini”, 工具菜单中关于flash的选项。选择“Flash Size->3M (1M SPIFFS)”, 如果选择,(NO SPIFFS), 应用无法启动,会提示文件打开失败。 SPIFFS 是一个嵌入式文件系统, 由于应用中会生成配置文件, 保存相关配置信息, 配置文件生成所以该文件系统支持。 ...

2021-02-28 · 1 min · 122 words · Garlic Space

LeetCode-Maximum XOR of Two Numbers in an Array

Given an integer array nums, return the maximum result of numsi XOR numsj, where 0 ≤ i ≤ j < n

2021-02-27 · 2 min · 246 words · Garlic Space

比特币,区块链与自由软件

这篇文章 Open source money: Bitcoin, blockchain, and free software

2021-02-24 · 1 min · 80 words · Garlic Space

开源许可证

最近在学习python 使用到在操作package的时候,有一个步骤就是要增加一个“LICENSE”文件。

2021-02-21 · 3 min · 524 words · Garlic Space

python语言学习

最新学习极客时间物联网课程中,老师使用的语言是python。之前也没有系统学习过,利用假期,跟着两个极客时间专栏学习了一下python 。

2021-02-17 · 5 min · 928 words · Garlic Space

python 的 __name__

这篇文章The Reason Behind if name == ‘main’ in Python 是出自medium 作者 Jordan Will

2021-02-08 · 6 min · 1163 words · Garlic Space

python将多个excel合并

同一个excel文件,分配到各组填写, 最后统一汇总成一个文档反馈。 环境 windows10 python3.7 + openpyxl 目标 in目录存放各个组填写的文档 out目录存放合并后的结果文件 实现 表格 序号 产品 信息 反馈1 反馈2 01 产品1 X 00000 999999 02 产品2 X 11111 888888 03 产品3 X 22222 777777 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 from openpyxl import load_workbook from openpyxl import Workbook import os ## 获取所有的文件 def getfilelist(dirname): li = [] for f in os.listdir(dirname): if f.endswith('.xlsx'): li.append(f) return li ## 更新 ## 1. 打开输出文件,处理一个sheet页面, ## 2. 循环获取某一行记录,放入字典结构从所有的输入文件中获取补充记录 ## 3. 如果是单条直接更新, 如果出现重复记录入职(暂不处理) ## 4. 依据以上处理方式,处理完所有sheet页面 INPATH=".\\in\\" OUTPATH=".\\out\\" productlist = ('product1','product2') ## 1. sheetname名称 ## 2. 位置1: 过滤条件 product 所在列位置,判断是否productlist ## 3. 位置2:通过判断第一个需要填写项判断是否填写数据 sheetlist = ( ('sheet1)', 6, 15), ('sheet2', 6, 13), ('sheet3', 5, 12), ('sheet4', 6, 14)) def update(): inlist = getfilelist(".\\in") outlist = getfilelist(".\\out") for li in sheetlist: sheetname = li[0] product = li[1] firstfilled= li[2] d = readdata(inlist, sheetname, product, firstfilled) writedata(outlist, d, sheetname) def readdata(inlist, sheetname, product, firstfilled): d = {} for i in inlist: wb = load_workbook(filename = INPATH+i) ws = wb[sheetname] row = tuple(ws.rows) c = filter(lambda cell: (cell[product].value in productlist) and (cell[firstfilled].value is not None), row) for cell in c: d[cell[0].row] = cell return d def writedata(outlist, d, sheetname): wbout = load_workbook(filename = OUTPATH+outlist[0]) wsout = wbout[sheetname] print(sheetname) #for key in d.keys(): for key in d: for col in range(1, wsout.max_column+1): wsout.cell(row=key, column=col).value = d[key][col-1].value wbout.save(filename = OUTPATH+outlist[0]) update() 代码调整: ...

2021-02-03 · 2 min · 302 words · Garlic Space