如何删除“.jpeg”文件而不将其变成“.REMOVE_ME”文件

问题描述 投票:0回答:0

所以,我创建了一个 Python 程序来通过 Google 的 API 搜索图像,模糊它们,将它们发送到 Instagram,删除一个在多次启动程序时不断引发异常的 .json 文件,并删除文件夹中的所有图像到节省我电脑上的空间。 看起来像这样,减去按键和 Instagram 部分:

# Imports

from google_images_search import GoogleImagesSearch
from PIL import Image, ImageDraw, ImageFont
import os
import random as ran
import cv2
import numpy as np

# Variables 

query = ran.choice(open("All EN Words.txt").readlines())
gis = GoogleImagesSearch("API key","Secret key")
dir = "C:\\Users\\user\\OneDrive\\Pictures\\Shitpost generator"
_search_params = {
'q': query,
'num': 1,
'fileType': 'jpg',
}

# Search

gis.search(search_params=_search_params, path_to_dir=dir, width=500, height=500)

# Hunt for last file, sorted by oldest to newest file

os.chdir(dir)
folder = filter(os.path.isfile, os.listdir(dir))
folder = [os.path.join(dir, f) for f in folder]
folder.sort(key=lambda x: os.path.getmtime(x))
image = folder[-1]

# Add text

img = Image.open(image)
font_size = ran.randint(25,200)
font = ImageFont.truetype("arial.ttf",font_size)
I1 = ImageDraw.Draw(img)
h = ran.randint(0,(500-font_size))
try:
    b = ran.randint(0,(500-(font_size*len(query))))
except:
        b = 0
I1.text((b,h), query,font=font, fill=(ran.randint(0,255),ran.randint(0,255),ran.randint(0,255)))
img = img.convert("RGB")
img.save(image)

# Motion Blur

img = cv2.imread(image)
size = 15
kernel_motion_blur = np.zeros((size, size))
kernel_motion_blur[int((size-1)/2), :] = np.ones(size)
kernel_motion_blur = kernel_motion_blur / size
output = cv2.filter2D(img, -1, kernel_motion_blur)
cv2.imwrite(image, output)

# Indiscriminally deletes the images, except the ".REMOVE_ME" files, within reason

for i in folder:
    os.remove(i)

我成功地编写了它的所有部分,但我的程序并没有从目录中删除图像,而是生成了“.REMOVE_ME”文件,然后引发了一个异常,即请求的文件不存在......

我尝试使用“os.remove(folder[-1])”删除目录的最新文件,所以我刚刚发布的文件仍然将它们转换为那些糟糕的“.REMOVE_ME”文件。

python image delete-file
© www.soinside.com 2019 - 2024. All rights reserved.