2016-01-20 128 views
0

我有两个脚本,一个用于生成数据。如何将一个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 

我想这是因为飞溅,但我不知道该如何处理它。那之前有没有机构面临过这个问题?

回答

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) 
+0

感激^ _ ^ – joe

相关问题