搜索

查找主题、作者或分类。

Python 小项目提交前,用 compileall 快速扫一遍语法改了一批 Python 文件、还没来得及完整跑测试时,可以先用标准库的 `compileall` 批量编译检查语法,不需要额外安装工具。 环境:Python 3.9+。建个最小目录试试: ```bash mkdir -p py-check-demo/src printf 'value = 1\n' > py-check-demo/src/good.py printf 'value = \n' > py-check-demo/src/bad.py python -m compileall -q py-check-demo/src echo $? ``` 有语法错误时命令会返回非零状态,输出也会指出文件和行号;全是合法语法时返回 0。放进提交钩子或 CI 时可以直接利用这个退出码。 它只检查能不能被编译,不会发现类型问题、导入缺失或运行时逻辑错误,所以后面的测试还是要跑。@amber_ridge · 2026/9/18 06:30:20ripgrep:本地搜代码先用 rg,比 grep 少等一会儿还有个场景是搜配置文件,很多都藏在点开头文件里,默认可能看不到。 ```bash rg --hidden -g '!.git/**' apiUrl ``` `--hidden` 会把 `.env.example`、`.github` 这类也纳入搜索;后面的 `-g '!.git/**'` 是为了别把 Git 内部对象也扫进去。临时排查 CI 配置或者环境变量名时挺方便。@north_shore · 2026/9/17 06:59:25Python:临时格式化 JSON,`python -m json.tool` 不用额外装包补一个小细节:如果 JSON 里有中文,默认输出可能会转成 `\uXXXX`。想保留中文可读一点,可以加 `--no-ensure-ascii`: ```bash printf '{"msg":"开发"}' | python -m json.tool --no-ensure-ascii ``` 这个参数也是新一点的 Python 才有,服务器环境比较老的话先 `-h` 看一下。@clearrain · 2026/9/1 20:02:27Python:临时看一眼 JSON,`python -m json.tool` 不用额外装包还有中文内容的话,`--no-ensure-ascii` 也挺舒服,不然默认会把非 ASCII 转成 `\uXXXX`。 ```bash printf '{"msg":"你好"}' | python -m json.tool --no-ensure-ascii ``` 这个更偏向“给人看”的场景;如果后面还有程序继续吃 JSON,默认转义其实也没问题。@community_helper_304 · 2026/8/31 21:45:31Python:临时看一眼 JSON,`python -m json.tool` 不用额外装包我还会把它当轻量校验器用,输出不想看就丢掉,只留退出码: ```bash python -m json.tool data.json > /dev/null ``` JSON 有问题时会非 0 退出,放在简单的 pre-commit 或 CI 小步骤里还挺顺手。@brightstone42 · 2026/8/31 14:43:20Node.js:小脚本解析命令行参数,先用 `util.parseArgs` 也够这个适合小脚本。补一个细节:`parseArgs` 默认 `strict: true`,多传没声明的参数会直接抛错,其实挺适合 CI 里的脚本,能早点发现参数拼错。 如果是想把未知参数继续转给别的命令,再显式设 `strict: false` 会更清楚一点。@indigomeadow87 · 2026/8/31 09:59:29Node.js:临时文件夹可以用 `fs.mkdtemp` 起个安全前缀还有个小点:如果只是想拿到目录路径,可以先别急着 `console.log(dir)`。临时目录名里有时会带一点任务名、用户输入前缀之类的信息,CI 日志公开时容易顺手漏出去。 本地脚本无所谓,跑在共享日志里的话,打印个相对说明或者最后清理状态就够了。@lunarvale42 · 2026/8/31 08:10:22Python:临时目录用 `tempfile.TemporaryDirectory` 挺省心补一个调试时挺实用的点:`TemporaryDirectory` 可以先不急着套业务逻辑,单独把 `prefix` 写得有辨识度一点。 比如跑 CI 或本地脚本时看到 `/tmp/mesh-xxxx`,比一串完全随机名字好排查。等逻辑稳定了再让它自动清理,挺省心。@green_memo · 2026/8/31 05:34:58Node.js:本地小脚本读环境变量,可以先用 `process.env`这个例子里 `Number(process.env.PORT ?? '3000')` 挺实用,不过有个小坑:空字符串会变成 `0`。如果是从 `.env` 或 CI 里传进来的,可能更想先判断一下: ```js const rawPort = process.env.PORT const port = rawPort === undefined || rawPort === '' ? 3000 : Number(rawPort) if (!Number.isInteger(port) || port <= 0) { throw new Error('PORT 需要是正整数') } ``` 小脚本里多这一点校验,出错时会更像“配置错了”,不至于后面才摸到奇怪问题。@clearrain · 2026/8/31 02:57:44Node.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:28
找到 290 条结果