我的代码使用glob
遍历多个文件,为每个输入文件生成一个数字,并使用savefig
保存它们。我试图将当前输入文件名称的元素合并到当前图表的标题中,也合并到当前输出文件的名称中。 This question解决了如何使用当前文件名,但我不想使用整个文件名。
例如,假设200302182300_040842.oax
是当前文件名,我想将图表命名为“18/02/2003 2300UTC Atmospheric Conditions (sea breeze day)
”并输出文件18/02/2003 2300UTC Atmospheric Conditions (sea breeze day).png
如何划分输入文件名并在图标题和输出文件名中使用不同的元素(例如年,月,日)?
我正在使用的代码示例如下。
import glob
import os
import matplotlib.pyplot as plt
os.chdir('X:/stormdays')
for file in glob.glob("*.oax"):
spc_file = open(file, 'r').read()
try:
plt.title('140616/1900 (Observed) - Sea Breeze Day', fontsize=12, loc='left')
plt.savefig('X:/stormgraph.png')
except Exception:
pass
答案 0 :(得分:1)
这是执行此操作的matlab代码。由于你不能在文件名中包含'/',我将其替换为' - '。
files = dir('C:\directory\.*oax')
for ind = 1:numel(files)
filename = files(ind).name
newName = [filename(7:8),'-',filename(5:6),'-',filename(1:4),' ',filename(9:12),' (Observed) - Sea Breeze Day','.png']
figureHandle = figure()
\\your code to plot
savefig(figureHandle,newName)
end
Python代码(基于您的代码)
import glob
import os
import matplotlib.pyplot as plt
os.chdir('X:/stormdays')
for file in glob.glob("*.oax"):
spc_file = open(file, 'r').read()
try:
newName = file[6:8] + '-' + file[4:6] + '-' + file[0:4] + ' ' + file[8:12] + ' (Observed) - Sea Breeze Day'
plt.title(newName, fontsize=12, loc='left')
plt.savefig('X:/' + newName + '.png')
except Exception:
pass