将代码写入文件,然后执行i

2024-06-16 14:03:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python脚本,它将现有文件导入模块所在的同一目录中。写入文件,然后使用导入执行它与exec()有何不同?安全吗?
下面是一个例子来说明我所说的:

import example
examplefile = open("example.py", "w")
exampletext = "def examplefunction():\n\tprint('This is an example!')\n\treturn"
examplefile.write(exampletext)
examplefile.close()
example.examplefunction()

Tags: 模块文件pyimport目录脚本exampledef
1条回答
网友
1楼 · 发布于 2024-06-16 14:03:21

不,它并不比使用exec()更安全。导入和exec()都将文本编译成字节码,然后执行字节码。生成的字节码将完全相同。你知道吗

唯一的区别是可以为磁盘上的文件创建.pyc字节码缓存文件,而exec()每次都会重新编译文本。如果只生成一次文件,然后跨Python调用导入它,那么将文件写入磁盘将受益于该缓存。你知道吗

相关问题 更多 >