我想将包含几个定义函数的python脚本导入到不同的python脚本using this approach via SO。由于我想导入的脚本定义了许多函数(其中一些嵌套在其他函数中),我宁愿导入整个脚本而不是单独导入每个函数。我在下面使用一个更简单的例子。如何将所有已定义的函数从python脚本一导入python脚本二?
假设我在我的desktop
上有一个名为'workspace'
的文件夹。在文件夹'workspace'
中,有一个名为'pre.py'
的脚本,其中包含一个函数(定义如下)和一个名为'__init__.py'
的空白文件。
def get_g(x):
""" Sample Function """
if isinstance(x, list):
res = [xi**2 for xi in x]
else:
res = x**2
return res
在同一个文件夹'workspace'
,有一个名为'post.py'
脚本,其中我想导入'pre.py'
定义的所有功能。以下是'post.py'
的示例脚本。
未遂#1:
import matplotlib.pyplot as plt
def get_my_imports(script_name, fileloc="/Users/myname/Desktop/workspace"):
""" Import Sample Function (defined above) """
from fileloc import script_name
get_my_imports('pre.py')
x = np.linspace(1, 10, 100)
y = get_g(x)
plt.plot(x, y)
plt.show()
>> ImportError: No module named 'fileloc'
未遂#2:
import matplotlib.pyplot as plt
from "/Users/myname/Desktop/workspace" import 'tst.py' ## error in this line
x = np.linspace(1, 10, 100)
y = get_g(x)
plt.plot(x, y)
plt.show()
>> SyntaxError: invalid syntax
在我第一次尝试,我试着概括进口吡啶脚本的方法。但翻译认为fileloc
是一个可导入的模块,而不是我的意图。我的第二次尝试告诉我,我不了解如何做到这一点的基本知识。这种方法如何适应正确的工作? (我使用的是苹果笔记本电脑,如果是相关的文件位置)。
查看链接的dupe。^ –