在我刚使用Python 3.0之后无法删除屏幕截图(进程无法访问该文件,因为它正被另一个进程使用)

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

我正在尝试创建一个python 3脚本,它截取屏幕截图,将其上传到网站,然后从计算机中删除屏幕截图。当我尝试使用os.remove()删除文件时,会发生此问题。我收到以下错误:“进程无法访问该文件,因为它正被另一个进程使用”有关如何解决此问题的任何想法?


pic = pyautogui.screenshot()

file_name = 'ss-' + nume + "-" + str(random.randint(0, 1000)) + '.png'

pic.save(file_name)

form_data = {
    'image': (file_name, open(file_name, 'rb')),
    'nume': ('', str(nume)),
}
response = requests.post('https://website.com', files=form_data)

print(response)
k = 1

os.remove(file_name)

python delete-file pyautogui
1个回答
1
投票

您在open(file_name, 'rb')中打开文件的问题并没有在remove()之前关闭它

试试这个:

pic = pyautogui.screenshot()

file_name = 'ss-' + nume + "-" + str(random.randint(0, 1000)) + '.png'

pic.save(file_name)

f = open(file_name, 'rb')  # open the file 
form_data = {
    'image': (file_name, f),
    'nume': ('', str(nume)),
}
response = requests.post('https://website.com', files=form_data)

print(response)
k = 1

f.close()  # close file before remove
os.remove(file_name)
© www.soinside.com 2019 - 2024. All rights reserved.