import os, re import random import numpy as np import pandas as pd from datetime import date, datetime, timedelta
from pyecharts.charts import Kline, Line, Bar, Grid,Map,Pie,Timeline,Geo from pyecharts.commons.utils import JsCode from pyecharts import options as opts from pyecharts.globalsimport CurrentConfig, NotebookType,ThemeType,ChartType, SymbolType from pyecharts.faker import Faker
/* 形状记号转换 IF SHAPE == "C" D17=80 ENDIF IF SHAPE == "D" D17=55 ENDIF IF SHAPE == "E" D17=75 ENDIF IF SHAPE == "F" D17=50 ENDIF IF SHAPE == "V" D17=35 ENDIF IF SHAPE == "S" D17=90 ENDIF
/* 厚度记号转换 IF THINK == "02" D15 = 2.38 ENDIF IF THINK == "03" D15 = 3.18 ENDIF IF THINK == "04" D15 = 4.76 ENDIF IF THINK == "05" D15 = 5.56 ENDIF IF THINK == "06" D15 = 6.35 ENDIF IF THINK == "07" D15 = 7.94 ENDIF IF THINK == "09" D15 = 9.52 ENDIF IF THINK == "T2" D15 = 2.78 ENDIF IF THINK == "T3" D15 = 3.97 ENDIF
/* 刀尖圆角记号转换 IF ROUND == "02" D20 = 0.2 ENDIF IF ROUND == "04" D20 = 0.4 ENDIF IF ROUND == "08" D20 = 0.8 ENDIF IF ROUND == "12" D20 = 1.2 ENDIF IF ROUND == "16" D20 = 1.6 ENDIF
/* 后角记号转换 IF BACK == "N" D21=0 ENDIF IF BACK == "A" D21=3 ENDIF IF BACK == "B" D21=5 ENDIF IF BACK == "C" D21=7 ENDIF IF BACK == "D" D21=15 ENDIF IF BACK == "E" D21=20 ENDIF IF BACK == "P" D21=11 ENDIF
/* 刃长记号转换成内接圆直径 D16 IF SHAPE == "C" IF LENGTH == "06" D16= 6.35 ENDIF IF LENGTH == "08" D16=7.94 ENDIF IF LENGTH == "09" D16=9.525 ENDIF IF LENGTH == "12" D16=12.7 ENDIF IF LENGTH == "16" D16=15.975 ENDIF IF LENGTH == "19" D16=19.3 ENDIF IF LENGTH == "25" D16=25.4 ENDIF ENDIF
IF SHAPE == "D" IF LENGTH == "07" D16= 6.35 ENDIF IF LENGTH == "09" D16=7.94 ENDIF IF LENGTH == "11" D16=9.525 ENDIF IF LENGTH == "15" D16=12.7 ENDIF IF LENGTH == "16" D16=15.975 ENDIF IF LENGTH == "19" D16=19.4 ENDIF ENDIF
IF SHAPE == "V" IF LENGTH == "08" D16=4.76 ENDIF IF LENGTH == "09" D16=5.56 ENDIF IF LENGTH == "11" D16=6.35 ENDIF IF LENGTH == "16" D16=9.525 ENDIF IF LENGTH == "22" D16=19.3 ENDIF IF LENGTH == "25" D16=12.7 ENDIF ENDIF
IF SHAPE == "S" IF LENGTH == "06" D16= 6.35 ENDIF IF LENGTH == "07" D16=7.94 ENDIF IF LENGTH == "09" D16=9.525 ENDIF IF LENGTH == "12" D16=12.7 ENDIF IF LENGTH == "15" D16=15.875 ENDIF IF LENGTH == "19" D16=19.05 ENDIF IF LENGTH == "25" D16=25.4 IF LENGTH == "31" D16=31.75 ENDIF ENDIF IF LENGTH == "25" D16=25.4 ENDIF ENDIF END RELATIONS
import os,re from datetime import date, time, timedelta import qrcode as qr import yagmail as yag from PIL import Image, ImageDraw, ImageFont
defremove_old(): """ 删除文件夹下的旧文件。webp格式的旧文件(二维码图片) """ fold = r"D:\onedrive\Code\Note\Python_project\WDHAC_QR" files = [i for i in os.listdir(fold) if re.search(r"webp$", i)] for file in files: os.remove(f"{fold}\\{file}")
import os,re from datetime import date, time, timedelta import qrcode import yagmail from PIL import Image, ImageDraw, ImageFont
defremove_old(): """ 删除文件夹下的旧文件。webp格式的旧文件(二维码图片) """ fold = r"D:\onedrive\Code\Note\Python_project\WDHAC_QR" files = [i for i in os.listdir(fold) if re.search(r"webp$", i)] for file in files: os.remove(f"{fold}\\{file}")
import pandas as pd import numpy as np import os, re import shutil
defget_file_base_name(name): """ 去掉文件后缀名 参数:name(str) 原始文件名 """ while re.search(r"(\.[a-z]+$)|(\.[0-9]+$)",name): name = os.path.splitext(name)[0] return os.path.splitext(name)[0]
defpurge(fd): """ 删除Creo软件的旧档文件 删除多重版本的文件(多重后缀名的文件),保留最新版本文件。并去除版本号后缀 参数:fd(str) 文件夹名称 """ # 列出指定文件夹下的所有文件,包含子文件夹下的文件。得到一个完整文件名的列表 ls1 = [os.path.join(p, i) for p, d, f in os.walk(fd) for i in f] # 去掉后缀名后的列表 ls2 = [get_file_base_name(i) for i in ls1] # 列出有多重版本号的文件 ls3 = set([i for i in ls2 if ls2.count(i)>1]) # 删除低版本号的文件保留高版本 for i in ls3: ls =[x for x in ls1 if i in x ] iflen(ls)>1: print(i,sorted(ls)) for j insorted(ls)[:-1]: os.remove(j) # 列出多版本的文件 ls4 = [os.path.join(p, i) for p, d, f in os.walk(fd) for i in f if re.search(r'\.[a-z]+\.\d+$', i)] # 重命名,去除版本号 iflen(ls4)>1: for i in ls4: name = os.path.splitext(i)[0] shutil.move(i, name) if __name__ == "main": fd = "D:\3D" purge(fd)
defchange_to_webp(): """ 将 source\_posts目录下的所有图片格式(webp/webp)转换成webp。 并将对应的md文件中插入图片的语句相应的更改成webp.如:<img src="./1.webp" /> ==>>> <img src="./1.webp" /> """ fold = r"D:\BLOG\yxhsiao\source\_posts" imgs = [os.path.join(p,j) for p,d,f in os.walk(fold) for j in f if re.search('\.webp$|\.webp$',j)] for img in imgs: im = Image.open(img).convert('RGB') im.save(re.sub('webp|webp','webp',img)) os.remove(img) files = [os.path.join(fold, i) for i in os.listdir(fold) if re.search('\.md$', i)] for file in files: withopen(file, 'r', encoding='utf-8') as f,open(f'{file}.bak','w',encoding='utf-8') as newfile: for line in f.readlines(): newfile.write(re.sub('webp|webp','webp',line)) os.remove(file) os.rename(f'{file}.bak',file)
“chdir”其实是“change the directory”的简写,因此 os.chdir()的用处实际上是切换当前工作路径为指定路径。其中“指定路径”需要作为参数传入函数 os.chdir(),该参数既可以是文本或字节型字符串,也可以是一个文件描述符,还可以是一个广义的类路径(path-like)对象。若指定路径不存在,则会抛出FileNotFoundError异常。
defmodify_wireguard_config(): ''' 修改VPN_WireGuard连接方式的配置文件。 读取源文件,同时创建新文件 遍历源文件的行,用re.sub(old_word,new_word,str) ,同时逐行写入新文件。 删除源文件,更名新文件名为源文件名 ''' fd = r"C:\Users\xiaoyx\Downloads" files = [f"{fd}\{i}"for i in os.listdir(fd) if re.search(r'.conf$', i)] w1 = '<insert_your_private_key_here>' w2 = 'mKTo/XWQemHxEDJxfDaNvcFwB4R42WQDtV7ZURUitWg=' for file in files: withopen(file, 'r', encoding='utf-8') as file1, open(f'{file}.bak', 'w', encoding='utf-8') as file2: for line in file1: file2.write(re.sub(w1, w2, line)) os.remove(file) os.rename(f'{file}.bak', file) if __name__ =='__main__': modify_wireguard_config()