我有两个脚本,一个用于生成数据。
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
我认为这是因为飞溅,但我不知道如何处理它。有没有人面临这个问题?
答案 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)