权限将文件保存在Python

问题描述:

此代码权限将文件保存在Python

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

什么是.save()方法中的r? –

+0

此代码对我来说工作正常..看起来这个问题是Python没有将文件写入D:\的权限。请检查python是否有权写入该位置。 – johnashu

+0

@HarshPatel“r”指定这是一个*** r ** aw字符串*,所以反斜杠不必转义。 – LegionMammal978

这是Python有权写入该驱动器的问题。

尝试运行Python作为一个管理员:

从命令行:

runas.exe /user:administrator "C:\Python27\python.exe Screenshot.py" 

我设法试图保存到没有写权限的文件夹复制您的错误。

这是我固定的错误:

  1. 右键单击要保存到文件夹。

  2. 点击properties在列表的底部

  3. 转到security标签

  4. 按一下旁边的Edit按钮To change permissions, click Edit

  5. 确保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的过时版本..

尝试uninstalli通过PIP NG PIL,然后与其他

pip install pil 

一个不同之处重新安装最新的版本是,我跑这对Python的3.6不是2.7喜欢自己。

+0

行,我进入这个代码CMD和控制台问我的管理员密码,但不给我输入它。好吧,我为我的Windows帐户编写了一个密码,并将其复制到命令行中 - 错误。与pincode一样的电脑。试图以管理员身份运行cmd - 即使他要求输入密码。但我不计划这evrytime由cmd破坏这个脚本。这只是代码的一部分,最后一部分不工作。也许你有任何解决方案? –

+0

如果可以运行该文件确定为管理员,那么你知道有一个与权限问题。这很奇怪,它不适合你,但代码很好,错误是指出权限错误。 – johnashu

+1

是啊,我也这么认为,但我不能去解决它。我必须做什么来解决这个问题? Rtinstall PyCharm?重新安装Python?重新安装WIndows?要购买一台新电脑或者只是为了在Java上启动一个make code? –