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

相關問題