2014-12-08 4 views
2

Я хотел бы сохранить участок python. В MacOS все работает гладко, но это не удается под Windows7.save python plot with matplotlib не работает под окнами

Питон-команда выглядит следующим образом:

savefig('C:\Users\xyz\AppData\Local\Temp\pyplot1468046843481608342.png') 

messge ошибка это одна:

Traceback (most recent call last): 
File "C:\Users\xyz\AppData\Local\Temp\analyze3744796441786382480.py", line 340, in <module> 
savefig('C:\Users\xyz\AppData\Local\Temp\pyplot1468046843481608342.png') 
File "C:\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 577, in savefig 
res = fig.savefig(*args, **kwargs) 
File "C:\Anaconda\lib\site-packages\matplotlib\figure.py", line 1470, in savefig 
self.canvas.print_figure(*args, **kwargs) 
File "C:\Anaconda\lib\site-packages\matplotlib\backend_bases.py", line 2194, in print_figure 
**kwargs) 
File "C:\Anaconda\lib\site-packages\matplotlib\backends\backend_agg.py", line 526, in print_png 
filename_or_obj = open(filename_or_obj, 'wb') 
IOError: [Errno 22] invalid mode ('wb') or filename: 'C:\\Users\xyz\\AppData\\Local\\Temp\\pyplot1468046843481608342.png' 

Это Python Я использую:

Python 2.7.8 :: Anaconda 2.1.0 (32-bit) 

Может кто-нибудь объясняет причину проблемы?

+0

IIRC, вы можете использовать слэши также на окнах 'savefig ('C: /shorter/path/pyplot1468046843481608342.png')' и что должно работать, как есть. OTOH - чистый и портативный способ построения путей - ['os.path'] (http://pymotw.com/2/ospath/). Цитата из вышеприведенной ссылки: «Написание кода для работы с файлами на с несколькими платформами легко с помощью функций, включенных в модуль os.path . Даже программы, не предназначенные для портирования между платформами , должны использовать os.path для надежный анализ имен файлов ". – gboffi

+0

спасибо за подсказку, работающую с os.path. Я посмотрю. пути были сгенерированы с помощью java, используя Java.io.File.createTempFile(). Поэтому я ничего не могу изменить вручную. – July

ответ

Смежные вопросы