此代码
from PIL import ImageGrab, Image
im = ImageGrab.grab()
im.save(r'D:/MyFilesForProject/Network/screen.jpg')
导致此错误
Traceback (most recent call last):
File "G:/PycharmProjects/2.7NetworkExersice/Screenshot.py", line 4, in
<module>
im.save(r'D:\MyFilesForProject\Network\screen.jpg')
File "C:\Python27\lib\site-packages\PIL\Image.py", line 1676, in save
fp = builtins.open(fp, "wb")
IOError: [Errno 13] Permission denied:
'D:\\MyFilesForProject\\Network\\screen.jpg'
我试图在整个互联网上找到解决方案,但我找不到任何有效的方法。为了避免重复的建议:是的,我允许在属性中读取和写入文件夹并尝试将其保存在其他地方。我真的希望得到你的帮助。提前谢谢。
答案 0 :(得分:0)
Python是一个问题,它具有写入该驱动器的权限。
尝试以管理员身份运行Python:
从命令行:
runas.exe /user:administrator "C:\Python27\python.exe Screenshot.py"
我设法通过尝试保存到没有写入权限的文件夹来复制错误。
这是我修复错误的方法:
右键单击要保存到的文件夹。
点击列表底部的properties
转到security
标签
点击Edit
To change permissions, click Edit
按钮
确保write
部分在您登录的用户的Allow
列中打勾。如果这不是私人文件夹或安全风险,您可以允许everyone
我注意到的另一件事是我从更新的修复中得到了错误
File "C:\Anaconda3\lib\site-packages\PIL\Image.py", line 1725, in save
fp = builtins.open(filename, "w+b")
请注意w+b
,而在您的追溯中,您有wb
这可能是由于使用了过时版本的PIL ..
尝试通过PIP卸载PIL,然后使用
重新安装最新版本pip install pil
另一个不同之处在于我在Python 3.6上运行它而非像你自己一样。