2014-12-08 148 views
2

我想保存一个python剧情。使用MacOS,一切运行顺利,但在Windows7下失败。保存与matplotlib python剧情在windows下失败

蟒蛇,命令如下:

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,你可以使用正斜杠也是在Windows 'savefig( 'C:/shorter/path/pyplot1468046843481608342.png')' 并且将正常运行是。 OTOH清洁和便携的方式 构建路径名是使用 ['os.path'](http://pymotw.com/2/ospath/)模块。 上面的链接引用:“使用os.path 模块中包含的函数编写代码以使用 多个平台上的文件很容易,即使不打算在平台 之间移植的程序也应该使用os.path for可靠的文件名解析“。 – gboffi 2014-12-08 10:22:11

+0

感谢与os.path一起工作的提示。我会看看。使用Java.io.File.createTempFile()使用java生成路径名。这就是为什么,我不会用手改变任何东西。 – July 2014-12-08 13:18:34

回答