小编OMG*_*der的帖子

为什么我的多线程应用程序的主线程对Ctrl + C没有响应?

我编写了一个多线程应用程序来监视和响应给定文件列表中的更改.我有一个Watch 获取文件大小的类,并size在第一次调用时将其设置为变量.然后,几秒钟后,它再次获取文件的大小,并将其与之前的大小进行比较,如果更改,则设置size为文件的当前大小.此外,还有一个WatchWorker类是它的子类threading.Thread.在WatchWorker这使得使用Watch类"手表"给定的文件.

现在这是真正的问题:我编写的代码正在工作,并在检测到更改时通知用户.但是当我尝试使用Ctrl+ 从应用程序退出时没有响应C.我在Windows上.

码:

import time
import threading
import os

class Watch(object):
    def __init__(self, path, time=5):
        self.path = path
        self.time = time
        self.size = os.stat(path).st_size



    def loop(self):
        while True:
            time.sleep(self.time)
            size = os.stat(self.path).st_size
            if size != self.size:
                self.size = size
                print "Change detected in file {}".format(self.path)



class Watch_Worker(threading.Thread):
    def __init__(self, path, *args, **kwargs):
        super(Watch_Worker, self).__init__(*args, **kwargs)
        self.path = path


    def run(self):
        super(Watch_Worker, …
Run Code Online (Sandbox Code Playgroud)

python windows

7
推荐指数
1
解决办法
163
查看次数

从变量渲染HTML标记而不转义

我有一些HTML内容,我想传递给模板进行渲染.但是,它会使标记转义为使用HTML实体(<),因此它们显示为代码而不是标记.如何渲染传递给模板的html?

tags = """<p>some text here</p>"""
render_template ('index.html',tags=tags)
Run Code Online (Sandbox Code Playgroud)
{{ tags }}
'&lt; some text here &gt;'
Run Code Online (Sandbox Code Playgroud)

我想要一个带有文字的段落.

some text here
Run Code Online (Sandbox Code Playgroud)

python jinja2 flask

4
推荐指数
1
解决办法
4821
查看次数

标签 统计

python ×2

flask ×1

jinja2 ×1

windows ×1