如何将一个numpy变量传递给python脚本
问题描述:
我有两个脚本,一个用于生成数据。如何将一个numpy变量传递给python脚本
main.py
import numpy as np
import os
data = np.array([[1,2,3,4],dtype=np.float32)
os.system("python draw.py "+data.tostring())
另外一个情节:
draw.py
import numpy as np
param = np.fromstring(sys.argv[1], dtype=np.float32)
print param
我只是想通过字符串到numpy的变量传递给另一个脚本,但是,当我试图用这个命令来运行。
python main.py
我得到这个:
----> 1 os.system("python draw.py "+data.tostring())
TypeError: must be string without null bytes, not str
我想这是因为飞溅,但我不知道该如何处理它。那之前有没有机构面临过这个问题?
答
如果您不想将它们放在同一个脚本中,那么可以在draw.py
中将函数定义为函数,然后将其导入main.py
。你应该避免从外部调用Python脚本,因为Python的导入机制更直接,并且不易出错。
draw.py
:
import numpy as np
def plot(param):
# Your plotting code here.
print param
main.py
:
import numpy as np
from draw import plot
data = np.array([[1,2,3,4],dtype=np.float32)
plot(data)
感激^ _ ^ – joe