如何将numpy变量传递给python脚本

时间:2016-01-20 09:05:30

标签: python numpy

我有两个脚本,一个用于生成数据。

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

我认为这是因为飞溅,但我不知道如何处理它。有没有人面临这个问题?

1 个答案:

答案 0 :(得分:1)

如果您不想将它们放在同一个脚本中,那么您可以将绘图例程定义为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)