【发布时间】:2021-06-24 23:00:01
【问题描述】:
我试图运行这个简单的程序:
import os
import pygame
pygame.init()
font = pygame.font.Font('font.ttf', 20)
pygame.quit()
os.remove('font.ttf')
Pygame 使用font.ttf 文件。但是当它关闭时,它不应该再使用它了。所以我应该能够删除文件。但是os好像删不掉(报错说文件被另一个进程使用了)。
当我删除 font = ... 行时,一切正常。所以,我的结论是字体文件仍然被使用,即使pygame被quit()退出。
这是一个错误吗?我错过了文档中的某些内容吗?我也试过这个,看看pygame.quit()是否在另一个需要时间处理的线程中运行——但错误仍然存在:
...
import time
ok = False
while not ok:
time.sleep(1) # retry every second
try:
os.remove('font.ttf')
ok = True
except:
print('Error')
print('Success')
【问题讨论】:
-
您是否尝试过显式调用
pygame.font.quit()? -
它做同样的事情 - 和
quit()“取消初始化之前已经初始化的所有pygame模块。”
标签: python pygame exit truetype