!/bin/bash echo "Starting Nuitka compilation…" 清理之前的编译文件 rm -f app.bin compile.log nuitka使用更简洁的编译命令 nohup python -m nuitka \--onefile \--lto=yes \--assume-yes-for-downloads \--include-package-data=requests,yaml \--enable-plugin=anti-bloat \-o app.bin \app.py > compile.log 2>&1 & echo "Compilation process started in…
logging 模块输出方式
在 Flask 中使用 logging 模块时,可以不将日志写入磁盘文件,而是采用其他输出方式(如控制台输出、内存缓存、网络传输等)。以下是具体方案和注意事项: 1. 不写盘的日志输出方式 (1)输出到控制台(默认行为) import logging # 默认会输出到控制台(sys.stderr) logging.basicConfig(level=logging.INFO) logging.warning("这是一条警告信息") # 直接打印到终端 (2)输出到内存(StringIO) import logging from io import StringIO log_stream = StringIO() handler = logging.StreamHandler(log_stream) logging.basicConfig(handlers=[handler], level=logging.INFO) logging.error("错误信息")…
使用 os.path.abspath 和 os.path.join 可以安全地拼接文件路径
在 Flask 或 Python 中,使用 os.path.abspath 和 os.path.join 可以安全地拼接文件路径,防止路径遍历攻击(如 ../../../)并确保路径的准确性。以下是具体示例和说明: 1. 基础用法 (1)os.path.join:跨平台拼接路径 import os # 安全拼接路径(自动处理不同系统的斜杠) path = os.path.join("var", "www", "uploads", "file.txt") # Linux → "var/www/uploads/file.txt" # Windows → "var\\www\\uploads\\file.txt" (2)os.path.abspath:获取绝对路径…
播放器操作指南
播放器操作指南 (基于VLC组件开发 | 自由免费·无服务支持) 📌 基本控制方式 鼠标悬停在播放器上方时: HOME 键:呼出主菜单,使用 ↑ ↓ ← → 方向键选择功能,按 回车(Enter) 确认执行; END 换源; PGUP 上一频道 PGDN 下一频道 。 鼠标右键:快速呼出快捷功能菜单(如播放控制、画面比例等)。 本地源:直接拖到播放窗口即可自动导入播放,遗漏了TXT格式导入,暂没时间搞看以后。 远程源:修改cache.yaml允许多源,自动聚合,播放界面中右键选择更新。 ⚙️ 配置与初始化 首次使用? 打开播放器目录下的 播放器设定\demo.yaml 文件,参考其中的注释说明修改配置(如播放源、解码参数等)。…
播放器操作指南
播放器操作指南 (基于VLC组件开发 | 自由免费·无服务支持) 📌 基本控制方式 鼠标悬停在播放器上方时: HOME 键:呼出主菜单,使用 ↑ ↓ ← → 方向键选择功能,按 回车(Enter) 确认执行。 鼠标右键:快速呼出快捷功能菜单(如播放控制、画面比例等)。 ⚙️ 配置与初始化 首次使用? 打开播放器目录下的 播放器设定\demo.yaml 文件,参考其中的注释说明修改配置(如播放源、解码参数等)。 想省事? 直接运行目录中的 设定.cmd 批处理工具,自动生成默认配置! 自定义配置示例: # demo.yaml 片段(替换IP和播放列表路径) REMOTE_UPDATE_URLS:…
Fixing the Issue: `data/app.log`
✅ Fixing the Issue: data/app.log Not Being Created 🔍 Possible Causes & Solutions 1️⃣ basicConfig() Must Be Called Before getLogger() Issue: If logger = logging.getLogger(__name__) appears before basicConfig(), the logging configuration might…
批量管理VPS的ipv6地址
!/bin/bash 服务器信息列表 SERVERS=("user1@vps1_ipv6""user2@vps2_ipv6""user3@vps3_ipv6") 你的网络接口 INTERFACE="eth0" 固定的 IPv6 前三组列表 PREFIX_LIST=("2001:db8:2" "2001:db8:d" "2001:db8:5") 生成随机的 IPv6 地址后 5 组 generate_ipv6_suffix() {echo "$(printf "%x:%x:%x:%x:%x" $((RANDOM%65536)) $((RANDOM%65536)) \$((RANDOM%65536)) $((RANDOM%65536)) $((RANDOM%65536)))"} 备份文件 TIMESTAMP=$(date +"%Y%m%d_%H%M%S")BACKUP_FILE="ipv6_backup_${TIMESTAMP}.txt"LOGFILE="ipv6_update.log"ERROR_SERVERS=() # 记录失败的服务器 echo "=====…
随机生成ipv6地址
IPv6 地址规则: IPv6 地址是 128 位,表示为 8 组 16 进制数,每组 4 个 16 进制数字,用 : 分隔。 你给出的前缀 2401:b60:e00e:704e 已经占据了前 4 组,我们需要随机生成 后 4 组(合法的 16 位随机数)。 Shell 脚本 #!/bin/bash prefix="2401:b60:e00e:704e" generate_ipv6() {…