我想將包含幾個定義函數的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。^ –