Python3常用操作代码块笔记(持续更新)

代码免登陆复制

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值