邮箱不能是 example.com 这种随意的名字
$ git clone https://gitee.com/neilpang/acme.sh.git
$ cd acme.sh
$ ./acme.sh --install -m my@example.com
Baidu Comate:ai 提示,个人赶脚比某灵码好用 | |
CodeGlance Pro:小地图 | |
Developer tools:开发者工具 | |
Dracula Theme:西斜轨主题 | |
Extra ToolWindow ColorfulIcons:工具栏图标 | |
Fast Request - API Buddy | |
Gerry Themes Pro:rating 最高的主题 | |
MyBatisCodeHelperPro | |
Nyan Progress Bar:彩虹进度条 | |
Rainbow Brackets:彩虹括号 |
import win32com.client | |
def update_toc(file_name): | |
script_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) | |
file_path = os.path.join(script_dir, file_name) | |
word = win32com.client.DispatchEx("Word.Application") | |
doc = word.Documents.Open(file_path) | |
doc.TablesOfContents(1).Update() | |
doc.Close(SaveChanges=True) | |
word.Quit() |
from docx import Document | |
from docx.oxml.shared import OxmlElement,qn | |
def set_repeat_table_header(row): | |
""" set repeat table row on every new page | |
""" | |
tr = row._tr | |
trPr = tr.get_or_add_trPr() | |
tblHeader = OxmlElement('w:tblHeader') | |
tblHeader.set(qn('w:val'), "true") |
import pandas as pd | |
import os | |
if __name__ == '__main__': | |
def rename(row, check_dict): | |
current_name = row['name'] | |
file_name = os.path.basename(current_name) | |
name, ext_name = os.path.splitext(file_name) | |
if file_name not in check_dict: | |
check_dict[file_name] = 1 |
re.sub(r'([a-z])([A-Z])', r'\1_\2', '.'.join(['ValueError', 'MyError'])).lower() |
from flask import json | |
from werkzeug.exceptions import HTTPException | |
class InsufficientStorage(werkzeug.exceptions.HTTPException): | |
code = 507 | |
description = 'Not enough storage space.' | |
@app.errorhandler(HTTPException) | |
def handle_exception(e): | |
"""Return JSON instead of HTML for HTTP errors.""" |
import matplotlib | |
matplotlib.use('agg') | |
import matplotlib.pyplot as plt | |
import threading | |
import datetime | |
import os | |
import time | |
import queue | |
from multiprocessing import Process, Queue |
def grouping(l, num): | |
split_num = num | |
if split_num != 0: | |
split_group = int(len(l) / split_num) | |
yu = len(l) % split_num | |
query_ips_group = [] | |
group_border = list(range(0, len(l) + yu, split_group)) | |
group_border.append(len(l)) | |
group_border_index = range(0, len(group_border)) | |
for i in range(0, len(group_border_index)-1): |