You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python的python -c与exec()是否创建临时文件?运行机制解析

Python单行命令与exec代码执行的临时文件问题

一、python -c "print('Hello, World!')"的执行逻辑

执行这类单行命令时,Python会先将源码编译为字节码,但默认不会在磁盘上创建临时文件,字节码全程在内存中处理并执行,执行完成后直接释放。

  • 无论Windows还是macOS,常规场景下都不会生成落地的临时文件;
  • 只有当你手动设置了PYTHONPYCACHEPREFIX环境变量,或者开启了强制字节码缓存的特殊配置时,才可能生成相关缓存文件,但这不属于默认行为。

二、exec("print('Hello, World!')")的执行逻辑

这种在Python进程内部动态执行字符串代码的方式,编译和执行全程在内存中完成,不会创建任何磁盘临时文件。exec处理的代码会被即时编译为内存中的字节码对象,执行后直接回收,不会有持久化的文件生成,Windows和macOS的行为完全一致。

关于Python的编译与执行流程

Python是先编译后执行的:源码会被编译为字节码(和.pyc文件格式一致),但对于-c参数传入的单行代码、exec执行的字符串代码这类动态输入的内容,字节码只会留在内存中,不会写入磁盘文件,只有针对本地.py文件的执行,才会默认生成__pycache__目录下的.pyc缓存文件。

内容的提问来源于stack exchange,提问作者StackUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 04:19:52