快速索引
- 代码免登陆复制
- 虚拟环境
- 读写相关
- 读文件(UTF8)
- 写文件(UTF8)
- 写文件(CSV)
- Print输出到文件
- 文件系统相关
- 获取当前工作目录
- 获取相对路径
- 目录/文件是否存在
- 获得文件后缀
- 创建目录
- 为文件或目录创建目录
- 时间相关
- 获得格式化的当前时间
- 分析相关
- 正则匹配
- JSON
代码免登陆复制
F12,控制台输入 document.body.contentEditable='true'
虚拟环境
apt update
apt install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt install python3.10
apt install python3.10-venv
python3.10 -m venv /mnt/sd2/stable-diffusion-webui/venv
# 然后在/usr/bin中
ln -fs python3.10 python3
读写相关
读文件(UTF8)
with open(path, 'r', encoding='utf8') as f:
text = f.read()
# text = f.readline() # 按行
if text.startswith(u'\ufeff'): # (可选)去掉bom,不然JSON读不了
text = text.encode('utf8')[3:].decode('utf8')
写文件(UTF8)
# 1
outFile = open('xwmisc.txt', 'w', encoding='utf8', newline='')
outFile.write(text)
outFile.flush()
outFile.close()
# 2
with open('xwmisc.txt', 'w', encoding='utf8', newline='') as outFile:
outFile.write(text)
outFile.flush()
写文件(CSV)
import csv
with open('xwmisc.csv', 'w', encoding='utf8', newline='') as recordFile:
writer = csv.writer(recordFile)
writer.writerow([i * 2 for i in range(100)])
Print输出到文件
import os
import sys
join = os.path.join
class Logger(object):
def __init__(self, filename=None, stream=sys.stdout):
if filename is None:
filename = join(os.getcwd(), 'xwmisc.txt')
self.terminal = stream
self.log = open(filename, 'a')
def write(self, message):
message = str(message)
self.terminal.write(message)
self.log.write(message)
self.log.flush()
sys.stdout = Logger(stream=sys.stdout)
sys.stderr = Logger(stream=sys.stderr)
print("xwmisc") # 控制台和文件会同时输出xwmisc
文件系统相关
获取当前工作目录
import os
# 取决于执行python命令后跟的文件路径,无视执行代码时所处的文件
os.getcwd() # 返回当前工作目录
获取相对路径
import os
from os.path import join
def getRelativePath(path):
return join(os.getcwd(), path)
目录/文件是否存在
import os
os.path.exists('./abc') # 目录
os.path.exists('./abc/xwmisc.txt') # 文件
获得文件后缀
import os
os.path.splitext('./xwmisc.txt') # ('./xwmisc', '.txt')
os.path.splitext('./xwmisc/txt') # ('./xwmisc/txt', '')
创建目录
import os
join = os.path.join
def makeRelativePath(path):
target = join(os.getcwd(), path)
os.makedirs(target, exist_ok=True) # 可以创建多级目录,若存在则无操作
return target
为文件或目录创建目录
import os
def makePath(path): # path可以是文件或者目录
_path, ext = os.path.splitext(path)
os.makedirs(_path, exist_ok=True)
时间相关
获得格式化的当前时间
Python3 日期和时间
time.strftime("年月日时分秒_%Y-%m-%d_%H-%M-%S", time.localtime())
分析相关
正则匹配
Python3 正则表达式
import re
text = '''"xwmiscScript": "State("状态",1,false);'''
# 逗号和括号要转义
# 若是匹配中间文本,前后要加.*?
matcher = re.match(r'.*?State\("(.+)"\,(\d+)\,.+\).*?', text)
if matcher is not None:
param1 = matcher.group(1)
param2 = matcher.group(2)
param3 = matcher.group(3)
print(param1, param2, param3)
JSON
Python3 JSON 数据解析
import json
text = { 'author': 'xwmisc' }
_json = json.loads(text) # 从JSON到对象
_text = json.dumps(obj ) # 从对象到JSON