我有一个PyQt应用程序,需要在后台检查文件是否存在。问题是:如果我在QThread中运行此代码,则会降低应用程序的速度。
if os.path.isfile(path):
#do something
有人可以在不降低应用速度的情况下在QThread中运行的解决方案吗?
编辑:
这里是一个例子。只需在PyQt应用程序中启动该线程,它将减慢您的应用程序的速度。
class ListenOpenThread(QThread):
def __init__(self,):
QThread.__init__(self)
def __del__(self):
self.wait()
def run(self):
path = os.path.join(tempfile.gettempdir(),".jdTextEditOpenFile.tmp")
while True:
if os.path.isfile(path):
if os.path.getsize(path):
f = open(path,"r")
lines = f.read().splitlines()
f.close()
os.remove(path)
if lines[0] == "open":
self.openSignal.emit(lines[1])
命令:“ while True”将消耗很多CPU资源;您什至解决了这个问题?