小编Son*_*rge的帖子

添加新处理程序以运行python tornado服务器

我是python龙卷风服务器的新手,我正在为我的下一个必须在实时环境中工作的项目评估python tornado.我使用Web Socket实现从github运行示例代码.

这是示例代码段.

    app = web.Application([
       (r'/', IndexHandler),
       (r'/ws', SocketHandler),
       (r'/api', ApiHandler),
       (r'/(favicon.ico)', web.StaticFileHandler, {'path': '../'}),
       (r'/(rest_api_example.png)', web.StaticFileHandler, {'path': './'}),
   ])

   if __name__ == '__main__':
       app.listen(8080)
       ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)

代码按预期工作正常.

是否有可能提供类似云的解决方案,以便我可以动态地向Web应用程序添加新路由和处理程序,而无需重新启动服务器侦听端口.

例如; 服务器开始运行并为路由'/'提供index.html,它有n个查看器.如果新的要求附带路由'/ foo'将被提供给foo.html而不阻塞路由'/'的n个观看者.如果没有重新启动服务器,有什么可能的处理方法.

python tornado

3
推荐指数
1
解决办法
2370
查看次数

如何解析包含dict的python b'字符串

当我从python3脚本查询hgetallredis时,我得到了以下声明的输出.

data = {
    b'category': b'0',
    b'title': b'1',
    b'display': b'1,2',
    b'type': b'1',
    b'secret': b'this_is_a_salt_key',
    b'client': b'5'}
Run Code Online (Sandbox Code Playgroud)

它是dict类型.

当我试图得到"类别"时

>>> data['category']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'category'
Run Code Online (Sandbox Code Playgroud)

读完后我就这样试了

import ast
>>> ast.literal_eval(data)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.4/ast.py", line 84, in literal_eval
    return _convert(node_or_string)
  File "/usr/lib/python3.4/ast.py", line 83, in _convert
    raise ValueError('malformed node or string: ' + repr(node))
ValueError: …
Run Code Online (Sandbox Code Playgroud)

python

3
推荐指数
2
解决办法
5062
查看次数

如何在Windows中使用python脚本直接打印而不显示打印对话框?

我已经创建了一个桌面应用程序,可以在Windows OS中使用python2.7gtk + 3从打印机打印令牌。我的应用程序中的按钮应从文件中调用打印。为了格式化打印件,我使用了.rtf文件,请先打开相应的文本编辑器(在我的情况下为MS Word),然后再将文件从打印机中打印出来,然后立即关闭。

如何避免打印之前打开和关闭它?无论是MS Word设置,Windows还是Python解决方案。

这是我的代码:

def make_print(self):
    os.startfile("print.rtf", "print")
Run Code Online (Sandbox Code Playgroud)

注意“ print.rtf ”是在此调用之前由python脚本创建的。

我也尝试过,但是它甚至都没有打印。

def make_print1(self):
    with open('print.rtf', 'r') as f, open('LPT1:', 'w') as lpt:
        while True:
            buf = f.read()
            if not buf: break
            lpt.write(buf)
Run Code Online (Sandbox Code Playgroud)

python windows printing

2
推荐指数
1
解决办法
2779
查看次数

在php7-fpm Docker容器中安装postgre驱动程序

我已经PHP:latest使用docker-compose命令安装了Docker容器。它安装php-7.1.6-fpm在我的Docker中。当我尝试安装php7-pgsql扩展程序时,找不到该软件包,而是找到了pdopdo_pgsql软件包。那不能满足我的需要。当我在已安装的PHP容器中搜索可用的软件包时,找不到与的任何相关pgsql软件包php7,相反,我看到了php5-pgsql与php7-fpm不兼容的软件包。

最后,在删除旧的使用php5-pgsql包后,我安装了php-5.6-fpm容器。但是现在我再次感到失望的是php5-pgsql,在新安装的容器中找不到软件包。

我知道我会遗漏一些重点。Alpine Linux是否没有php-pgsql扩展名。在我的PHP容器中包括此扩展的可能方法是什么。我还在docker-compose.yml中添加了Nginx和Postgres

我只有3天的Docker理论知识和第一天的实践经验。

谢谢阅读。

php postgresql docker

1
推荐指数
2
解决办法
2816
查看次数

标签 统计

python ×3

docker ×1

php ×1

postgresql ×1

printing ×1

tornado ×1

windows ×1