从另一个脚本导入函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从另一个脚本导入函数相关的知识,希望对你有一定的参考价值。

我尝试以下列方式导入函数时遇到'utf-8' codec can't decode byte 0x98 in position 16: invalid start byte错误:

from Tutorials.Functions.Files import path_to_project_root

经过一些调查,我发现问题是由于path_to_project_root本身对Tutorials.Functions.Files函数的一些额外调用。换句话说,我的Tutorials.Functions.Files看起来像这样:

def path_to_project_root(projectName)
# The function body
return smt
path_to_project_root("myProject")

我意识到,当我在另一个脚本中导入时调用path_to_project_root("myProject")是问题,只是通过评论它一切运行良好。我正在寻找这个问题背后的理由。

答案

这就是Python的工作方式,python是一种脚本语言,您希望解释器知道的所有内容必须首先由解释器解释。

在这种情况下,您从Files导入一些函数,解释器必须读取并执行它。

试想一下,如果你在path_to_project_root函数中进行一些导入,而不运行文件中的所有语句,你导入的模块可能无法正常工作。

以上是关于从另一个脚本导入函数的主要内容,如果未能解决你的问题,请参考以下文章

我如何使用视图模型从另一个片段访问函数

从另一个文件中的类导入函数?

使用条件从另一个数据库导入所有视图的 SQL 脚本

从另一个shell脚本调用函数[重复]

使用意图从另一个片段调用一个片段

将Python导入函数从另一个目录导入文件,然后从另一个目录导入另一个函数