最新Python os.pread 的固定偏移读取:读到第六字节,为什么共享游标仍停在三 读取索引文件或二进制片段时,常常已经知道需要的偏移。如果用同一个文件描述符先seek再read,两个操作之间的游标可能被别的使用者移动。pread把偏移直接作为一次读取的参数,并且不改变文件描述符当前位置。它解决的是... yunqueblog/ 技术教程/ 2026-10-04/ 2 阅读
Python fdopen 的关闭责任:文件对象已经关闭,为什么原描述符还能继续写 一个辅助函数接收已经打开的文件描述符,为了方便写入,把它包装成文件对象。离开with以后,调用者有时还能写,有时却收到Bad file descriptor。关键不在with是否执行,而在包装对象是否同时拥有关闭底层... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Bash 自动分配文件描述符:重定向命令已经结束,为什么通道还可以继续写 普通命令的重定向通常跟着该命令结束,Bash 的 {变量名} 重定向却允许另一种生命周期:让 shell 自动挑选一个可用文件描述符,把编号存进变量,并在命令结束后继续保留它。于是仅执行一次冒号命令,也能为后续多次写... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Node.js readFile 读文件描述符:文件没变,为什么第二次只读到空串 同一个小文件先检查两字节的头部,再把文件描述符交给 readFile,希望得到完整内容,结果开头两字节不见了。再次调用又只返回空串。文件没有被删改,变化的是已打开文件的读取位置:接口会接着当前位置读下去。传路径和传描... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Python 临时缓冲落盘:还没达到 max_size,为什么 fileno 已经创建了文件 一个小文件处理器使用 SpooledTemporaryFile,希望内容较小时留在内存,超过阈值再使用临时文件。数据明明只有三个字节,接入某个库后却发生了落盘。原因可能是对方请求了 fileno:底层需要操作系统文件... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Bash 重定向顺序:2>&1 写在前面,为什么错误输出没有进入日志 两个符号都写了,日志仍然少一半希望把正常输出和错误输出一起保存时,常见写法是命令后接 >log 2>&1。如果把顺序改成 2>&1 >log,看上去依旧同时提到了日志和两个输出通道,实际结果却不同。关键在于 Bash... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读