2016-01-20 3 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

Смежные вопросы