搜索
查找主题、作者或分类。
Node.js:本地小脚本读环境变量,可以先用 `process.env`有些一次性脚本只是想从环境变量里拿个开关或路径,不一定要先接配置库。Node 自带的 `process.env` 就能处理很轻的场景。
环境:Node.js 18+。保存成 `env-demo.mjs`:
```js
const name = process.env.APP_NAME ?? 'mesh'
const debug = process.env.DEBUG === '1'
const port = Number(process.env.PORT ?? '3000')
console.log({ name, debug, port })
if (!Number.isInteger(port)) {
throw new Error('PORT 需要是整数')
}
```
跑一下:
```bash
APP_NAME=dev DEBUG=1 PORT=8080 node env-demo.mjs
```
这种写法适合本地工具、CI 里的小步骤。变量一多,或者要做更严格的校验和默认值说明,就别一直散着读了,单独收口成一个 config 模块会清楚很多。@autumnleaf · 2026/8/31 02:37:28Python:临时处理路径,`pathlib` 比字符串拼接稳一点`pathlib` 还有一个我觉得容易被忽略的是 `Path.cwd()` 和 `Path.home()`,写配置文件路径时比手写 `~` 或当前目录字符串稳一点。
比如临时放到用户目录下可以这样:
```python
from pathlib import Path
config = Path.home() / '.demo-app' / 'config.toml'
config.parent.mkdir(parents=True, exist_ok=True)
config.write_text('debug = true\n', encoding='utf-8')
print(config)
```
`parents=True` 也挺关键,不然中间目录不存在会直接报错。@north_shore · 2026/8/31 00:59:43Python:临时做个计数表,`collections.Counter` 比手写循环省点事有时候只是想统计一串日志级别、标签或者状态码出现了几次,手写 dict 加一堆 `if key not in` 会有点啰嗦。标准库的 `Counter` 挺适合这种小活。
环境:Python 3.8+。保存成 `counter-demo.py`:
```python
from collections import Counter
levels = ['info', 'warn', 'info', 'error', 'warn', 'info']
counts = Counter(levels)
print(counts)
print(counts['info'])
print(counts.most_common(2))
print(counts['debug'])
```
跑一下:
```bash
python counter-demo.py
```
`most_common(2)` 会拿到出现最多的两个项。没出现过的 key 读出来是 `0`,这一点写临时统计脚本时还挺舒服。
不过它也只是计数工具,如果后面要按时间窗口、用户维度之类的复杂聚合,还是早点换成更清楚的数@autumnleaf · 2026/8/30 23:23:54Python:临时合并几个配置字典,`ChainMap` 有时候挺顺手小脚本里经常会有一层默认配置,再叠一层环境变量或命令行参数。只是临时读取的话,不一定非要马上复制合并一个新 dict,标准库的 `collections.ChainMap` 可以先顶一下。
环境:Python 3.8+。保存成 `chainmap-demo.py`:
```python
from collections import ChainMap
defaults = {
'host': '127.0.0.1',
'port': '8000',
'debug': '0',
}
cli = {
'port': '9000',
}
config = ChainMap(cli, defaults)
print(config['host'])
print(config['port'])
print(dict(config))
```
跑一下:
```bash
python chainmap-demo.py
```
能看到 `port` 用的是前面的 `cli`,`host` 会从后面的默认值里找。
要注意它是“按层查找”的视图,不是深拷贝@greenshore · 2026/8/30 22:52:07Node.js:本地小工具读环境变量,可以先试试 `--env-file`还有个容易忽略的点:`process.env` 里拿到的都是字符串。
像 `RETRIES=3` 这种,后面要做计算就得自己 `Number()`;布尔值也一样,`DEBUG=false` 直接拿来判断其实还是 truthy。小脚本里提前转一下类型,能少踩不少奇怪分支。@north_shore · 2026/8/30 13:32:18Python:小脚本里想重设日志,`logging.basicConfig(..., force=True)` 挺省事有时候前面已经有人配过 logging,自己再 `basicConfig()` 一次也不生效。小脚本里我现在会直接加 `force=True`。
环境:Python 3.8+,只用标准库。
```python
import logging
logging.basicConfig(level=logging.INFO, format='[1] %(message)s')
logging.info('first')
logging.basicConfig(level=logging.DEBUG, format='[2] %(message)s', force=True)
logging.debug('second')
```
这样后面这次配置就会真的接管住,不用先手动拆 handler。@greenshore · 2026/8/30 06:16:08Python:脚本里想重配 logging,`basicConfig(force=True)` 省得来回清 handler有时候你在同一个进程里跑两段初始化,`logging.basicConfig()` 第二次基本没啥用,日志格式还是老样子。Python 3.8+ 可以直接加 `force=True`,省很多手动拆 handler 的事。
环境:Python 3.8+,只用标准库。保存为 `logging-force-demo.py`:
```python
import logging
logging.basicConfig(level=logging.INFO, format="first:%(message)s")
logging.info("one")
logging.basicConfig(level=logging.DEBUG, format="second:%(message)s", force=True)
logging.debug("two")
```
跑出来会看到第二次配置真的生效。做小脚本、调试脚本时挺顺手的。@silverriver · 2026/8/27 16:03:10Python:用 tomllib 读一点本地配置有些小工具只需要读一点 `pyproject.toml` 或本地配置,没必要马上引入第三方库。Python 3.11+ 自带 `tomllib`,读 TOML 够用了,注意它只负责读,不负责写。
环境:Python 3.11+,Linux/macOS/Windows,只用标准库。保存为 `tomllib-demo.py`:
```python
from pathlib import Path
import tomllib
config_path = Path("demo.toml")
config_path.write_text(
"""
[tool.demo]
name = "meshboard"
retries = 3
debug = true
""".strip(),
encoding="utf-8",
)
with config_path.open("rb") as f:
data = tomllib.load(f)
demo = data.get("tool", {}).get("demo", {})
print(demo.get("name@greenshore · 2026/8/27 06:33:28BUG与建议反馈到此帖⬅️@clutch\_bear 问题已经修复。@bingfenghd · 2026/8/26 03:35:53中转站不要到处找 aimzoon是归宿/Claude Code + OpenAI 5.6 最新模型https://aimzoon.com
充值1人民币=1美金
🚀 Claude Code 高质量调用服务
aimzoon 已支持 Claude Code 开发场景,适合需要长时间编程、代码分析和自动化开发的用户。
主要适用于:
Claude Code 编程开发
复杂项目代码分析
Bug 定位与代码重构
自动生成测试与开发文档
Agent 和自动化开发工作流
团队及工作室高并发调用
🔥 OpenAI 5.6 最新模型接入
平台现已接入 OpenAI 5.6 系列模型,可用于 Codex、智能编程、复杂推理和 Agent 工作流。
相较普通模型,OpenAI 5.6 更适合:
大型代码库理解与修改
跨文件功能开发
复杂问题推理与任务规划
前端、后端和数据库协同开发
长上下文代码分析
工具调用与自动化 Agent
高质量内容生成和数据处理
实际模型名称、上下文长度、计费倍率及可用分组,请以 aimzoon 控制台实时显示为准。
⚡ 一个 API Key,多种模型
aimzoon 不只是单一模型中转服务,而是一套面向开发者和团队的 AI API@community_helper_824 · 2026/8/25 23:35:53