В настоящее время я испытываю некоторые трудности при сохранении фигуры matplotlib в Windows (10). Я знаю, что нужно использовать необработанные строки, но даже используя их и убедившись, что путь указан правильно, выдается ошибка FileNotFoundError. Я также пытался с os.path.normpath, но это также было без происшествий. Вот соответствующие строки:
fig, ax = plt.subplots()
ax.plot(sin_i, sin_r, label='acrylic glass')
ax.plot(sin_i, sin_r_wtr, label='water')
ax.legend()
ax.set(xlabel=r'$sin(\alpha_{refracted})$', ylabel=r'$sin(\alpha_{incident})$',
title=r'$f([sin(\alpha_{refracted}])$ for acrylic glass and water')
ax.grid()
#fig.savefig(r"c:\Users\julie\Pictures\PY3graph.png")
fig.savefig(os.path.normpath("c:/Users/julie/Pictures/PY3graph.png"))
и ошибка:
Traceback (most recent call last):
File "PY_3_graphs.py", line 31, in <module>
fig.savefig(r"PY_3_graph.png")
File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\figure.py", line 2094, in savefig
self.canvas.print_figure(fname, **kwargs)
File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\backend_bases.py", line 2075, in print_figure
**kwargs)
File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\backends\backend_agg.py", line 521, in print_png
cbook.open_file_cm(filename_or_obj, "wb") as fh:
File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\contextlib.py", line 112, in __enter__
return next(self.gen)
File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\cbook\__init__.py", line 407, in open_file_cm
fh, opened = to_filehandle(path_or_file, mode, True, encoding)
File "C:\Users\julie\AppData\Local\Programs\Python\Python37-32\lib\site-packages\matplotlib\cbook\__init__.py", line 392, in to_filehandle
fh = open(fname, flag, encoding=encoding)
FileNotFoundError: [Errno 2] No such file or directory: 'c:\\Users\\julie\\Pictures\\PY3graph.png'
Попытка сохранить рисунок с помощью plt.show () также возвращает ошибку «Нет такого файла или каталога».
Я был бы очень благодарен за вашу помощь!
Matts
Обновление: код работает при сохранении на дополнительном жестком диске (например, d: \), но не на c: \. Я подозревал ошибку разрешения, но проблема сохраняется даже при предоставлении прав администратора для командной строки.
Обновление 2 : Я наконец понял, в чем причина. Новая функция «Доступ к контролируемым папкам», появившаяся в обновлении Fall Creators, кажется, лежит в основе проблемы, которую можно легко решить, разблокировав защищенные папки.