我的代码用于查看文件夹并删除分辨率为1920x1080的图像的脚本。我遇到的问题是,当我的代码运行时;
import os
from PIL import Image
while True:
img_dir = r"C:\Users\Harold\Google Drive\wallpapers"
for filename in os.listdir(img_dir):
filepath = os.path.join(img_dir, filename)
im = Image.open(filepath)
x, y = im.size
totalsize = x*y
if totalsize < 2073600:
os.remove(filepath)
我收到以下错误消息:
Traceback (most recent call last):
File "C:\Users\Harold\Desktop\imagefilter.py", line 12, in <module>
os.remove(filepath)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\Harold\\Google Drive\\wallpapers\\Car - ABT Audi RS6-R [OS] [1600x1060].jpg'
我想确认一下,Python是我电脑上唯一运行的程序。导致此问题的原因是什么?如何解决?
这基本上是权限错误,您只需要在删除文件之前关闭它。获取图像大小信息后,关闭图像
im.close()
我遇到了同样的问题,但是错误是间歇性的。如果您正在正确编码您的文件打开/关闭,并且仍然运行到此错误,请确保您没有将文件与Dropbox、Google Drive等同步。我暂停了Dropbox,我不再看到错误。
您的进程是打开文件的进程(通过im
仍然存在)。您需要先关闭它,然后再删除它。
我不知道PIL是否支持带有上下文的,但它是否支持:
import os
from PIL import Image
while True:
img_dir = r"C:\Users\Harold\Google Drive\wallpapers"
for filename in os.listdir(img_dir):
filepath = os.path.join(img_dir, filename)
with Image.open(filepath) as im:
x, y = im.size
totalsize = x*y
if totalsize < 2073600:
os.remove(filepath)
这将确保在进入
os.remove
之前删除im
(并关闭文件)。
如果没有,你可能想看看枕头,因为PIL开发几乎已经死了。
我正在尝试测试我自己的antiweb版本,可以在这里找到。但是,我正在使用Pythons单元测试模块对其进行测试。代码如下: 除了功能外,所有功能都正常工作。在执行unittest时,如果不拆下,temp文件夹及其内容将被完美创建。但是使用功能,我得到一个错误: 当我再看临时文件夹时,文件夹本身仍然在那里,但现在是空的。这将是太多,包括我的反网络文件在这里,所以我有它在这里再次链接,如果你需要它。
问题内容: 我的代码用于一个脚本,该脚本查看一个文件夹并删除分辨率为1920x1080的图像。我的问题是我的代码运行时; 我收到此错误消息: 只需确认一下,Python是我计算机上运行的唯一程序。是什么导致此问题,我该如何解决? 问题答案: 您的过程就是打开文件的过程(仍然存在)。您需要先关闭它,然后再删除它。 我不知道PIL是否支持上下文,但是是否支持: 进入之前,请确保删除(并关闭文件)。 如
我正在尝试使用python从本地路径读取csv文件
我不断收到一个IOException,它无法访问该文件,因为它正被另一个进程使用。我想做的是每次我查看的文件都会被更改。。它通过TCP/IP以数组的形式发送。我找不到任何关闭XDocument的方法,只是不知道如何修复这个错误。。。我用谷歌搜索了一下,但还是什么都找不到。任何帮助都将不胜感激 编辑:我发现了其他的解决方案与fileereader和其他东西...但它似乎不同,当使用xfile
我正在测试一个python代码,它将文件从源路径移动到目标路径。测试是使用Python3中的pytest完成的。但我在这里面临着一个障碍。就是这样,我试图在代码结束时删除源路径和目标路径。为此,我使用了类似shutil的命令。rmtree(路径)或操作系统。rmdir(路径)。这导致了错误-“[WinError 32]该进程无法访问该文件,因为它正被另一进程使用”。请帮我做这个。下面是python
当我试图删除一个文件时,它说我的服务器正在使用它,所以我尝试使用(Image img=Image.FromFile(imgFilePath))实现一个,但随后我得到了