我需要將函數的輸出保存到傳遞給該函數的變量名稱的文件中。 我已經嘗試從一個stackoverflow用戶使用函數。如何保存傳遞給函數的變量名稱的輸出文件?
def var_name(**variables):
return [x for x in variables]
我的代碼如下,
dist
是含有不同陣列numpy的陣列數據集。
MTnum=10
import matplotlib.pyplot as plt
import numpy as np
def Plot(dist, sav=False):
MT_dat = np.vsplit(dist,MTnum)
for i,mtdat in enumerate(MT_dat):
plt.figure(i)
for j in range(len(mtdat[0])-1):
plt.plot(MT_dat[i][:,0],MT_dat[i][:,j+1])
plt.xlabel('time')
plt.ylabel('distance')
plt.title('MT_'+str(i+1)+var_name(dist=dist)+'.png')
if sav == True:
plt.savefig('MT_'+str(i+1)+var_name(dist=dist)+'.png')
plt.show()
如果我使用功能Plot(set1)
,文件保存爲「DIST」後綴,而不是「集1」。請提出一個正確的方法來做到這一點。
我想要一個函數,因爲我想傳遞多個數據集,所以手動輸入不是一個好的選擇。 – Yash
在你的代碼中調用'Plot()'的地方,你知道被傳遞給它的變量的名字,所以看起來你也可以將函數的輸出保存到具有該名稱的文件。如果有多於一個,然後將它們保存在一個「列表」中。 – martineau
簡單來說,修改'Plot()',使其具有一個值_and_一個變量名 - 即。 'Plot(dist,varname,sav = False):' - 然後稱之爲'Plot(set1,'set1')'''Plot(set2,'set2')'''Plot(10,'no name') '等等 – martineau