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)
能有人解釋問題的原因?
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
感謝與os.path一起工作的提示。我會看看。使用Java.io.File.createTempFile()使用java生成路徑名。這就是爲什麼,我不會用手改變任何東西。 – July 2014-12-08 13:18:34