运行命令时,临时文件保存在哪里,或者是否没有创建临时文件?

python -c "print('Hello, World!')"

exec("print('Hello, World!')")

Both Windows 和 macOS. Does Python run directly or is it compiled into a temporary file 和 then run?

我使用谷歌翻译.

推荐答案

不会,这两个操作都不会创建任何临时文件.Python创建.pyc个文件只是作为性能优化,以加快将来加载相同代码的速度,并且在没有它们的情况下工作得很好.

这是解释语言的典型行为,而不是编译语言.由于Python通常只被编译成字节码而不被编译成本机可执行文件(即使是从Python创建本机可执行文件的工具通常也将解释器和源代码或字节码打包成该可执行文件,而不是适当地编译成本机CPU指令);并且由于该字节码可以由编译所述字节码的同一工具在进程中解释,因此为此目的有效地解释了Python.(在Is Python interpreted, or compiled, or both?有更大的关于语义的讨论,但是定义对于实际目的并不重要,所以我不在这里更深入地讨论它).


would创建一个临时文件(使用大多数但不是所有shell)是:

python <<EOF
print("Hello, world!")
EOF

...但在这种情况下,文件是由shell 创建的,而不是由Python本身创建的.

Python相关问答推荐

取相框中一列的第二位数字

在Python中使用readline函数时如何向下行

PyTorch卷积自动编码器,输出维度与输入不同

使用Curses for Python保存和恢复终端窗口内容

socket.gaierror:[Errno -2]名称或服务未知|Firebase x Raspberry Pi

使用Python和PRNG(不是梅森龙卷风)有效地生成伪随机浮点数在[0,1)中均匀?

遵循轮廓中对象方向的计算线

如何使用SubProcess/Shell从Python脚本中调用具有几个带有html标签的参数的Perl脚本?

在Pandas 日历中插入一行

通过优化空间在Python中的饼图中添加标签

使用numpy提取数据块

为什么我的Python代码在if-else声明中的行之前执行if-else声明中的行?

沿着数组中的轴计算真实条目

Python虚拟环境的轻量级使用

将9个3x3矩阵按特定顺序排列成9x9矩阵

根据列值添加时区

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

如何使用Pandas DataFrame按日期和项目汇总计数作为列标题

处理具有多个独立头的CSV文件

如果包含特定值,则筛选Groupby