gpt4 book ai didi

python - 如何在 ipython 中将脚本作为模块导入?

转载 作者:行者123 更新时间:2023-11-30 22:49:22 24 4
gpt4 key购买 nike

所以,我有两个 python 文件:

第一个“m12345.py”

def my():
return 'hello world'

第二个“1234.py”:

from m12345 import *
a = m12345.my()
print(a)

在 ipython 上我尝试执行这样的命令:

exec(open("f:\\temp\\m12345.py").read())
exec(open("f:\\temp\\1234.py").read())

第二个命令的错误是:

ImportError: No module named 'm12345'

请帮助如何将第一个文件添加为第二个文件的模块?

最佳答案

首先,如果您使用通用导入(from m12345 import *),那么您只需调用 my() 函数,而不是 m12345.my () 否则你会得到一个

NameError: name 'm12345' is not defined

其次,您应该在每个脚本中添加以下代码片段,以便您希望能够在其中直接运行或不直接运行它(导入时)。

if "__name__" = "__main__":
pass
PS。将其添加到第一个脚本(“m12345.py”)。PS2。避免使用通用导入方法,因为它可能会弄乱脚本的命名空间。 (因此,它不被视为最佳实践)。

编辑: m12345.py 是否位于 python 文件夹中(它安装在硬盘驱动器中的位置)?如果没有,那么您应该添加它位于 sys.path 中的目录:

import sys
sys.path.append(directory)

其中directory是m12345.py所在位置的字符串。请注意,如果您使用 Windows,则应使用 / 而不是 \。不过,重新定位脚本会容易得多(如果可能的话)。

关于python - 如何在 ipython 中将脚本作为模块导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com