小编90a*_*yss的帖子

Python Tornado:ImportError:没有名为'tornado'的模块

这是我的龙卷风文件::

from tornado.wsgi import WSGIContainer
from tornado.ioloop import IOLoop
from tornado.web import FallbackHandler, RequestHandler, Application
from flasky import app

class MainHandler(RequestHandler):
  def get(self):
    self.write("This message comes from Tornado ^_^")

tr = WSGIContainer(app)

application = Application([
(r"/tornado", MainHandler),
(r".*", FallbackHandler, dict(fallback=tr)),
])

if __name__ == "__main__":
  application.listen(5000)
  IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)

基本上我在Tornado运行烧瓶服务器.但是我收到了这个错误:

from tornado.wsgi import WSGIContainer 
ImportError: No module named 'tornado'
Run Code Online (Sandbox Code Playgroud)

我已经完成了这篇文章:Python Tornado:WSGI模块丢失了吗?

但我的文件名为Tornado.py,因此不适用于我.

请帮忙.

python tornado

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

pyodbc:如何重试从瞬态错误中恢复?

我在Flask上托管了一个API.它运行在Tornado服务器后面.发生的事情是,有时在UI上进行的更改不会反映在数据库中.我运行的一些脚本也提供了以下3个错误中的任何一个:

  1. pyodbc.Error:('08S01','[08S01] [Microsoft] [ODBC SQL Server驱动程序]通信链接失败(0)(SQLExecDirectW)')
  2. pyodbc.Error:('01000','[01000] [Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] ConnectionWrite(send()).(10054)(SQLExecDirectW)')
  3. pyodbc.Error:('01000','[01000] [Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] ConnectionRead(recv()).(10054)(SQLExecDirectW)')

这是我的Flask API代码的片段:

class Type(Resource):

    def put(self):
        parser = reqparse.RequestParser()
        parser.add_argument('id', type = int)
        parser.add_argument('type', type = int)
        args = parser.parse_args()

        query = """
        UPDATE myDb SET Type = ? WHERE Id = ?
        """

        connection = pyodbc.connect(connectionString)
        cursor = connection.cursor()
        cursor.execute(query, [args['type'], args['id']])
        connection.commit()
        cursor.close()
        connection.close()

api.add_resource(Type, '/type')
Run Code Online (Sandbox Code Playgroud)

我可以在cursor.execute行上添加任何重试逻辑吗?我不知道如何使用python处理瞬态错误.请帮忙.

python sql-server azure pyodbc azure-sql-database

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

Azure功能与服务总线:如果处理出现问题,如何将消息保留在队列中?

我是服务总线的新手,无法解决这个问题.

基本上我正在使用挂在服务总线队列上的Azure功能应用程序.假设从服务总线触发了一个触发器,我从队列中收到一条消息,并且在处理该消息时,我的代码中出现了问题.在这种情况下,我如何确保再次将该消息放回队列中?目前它只是消失在空气中,当我在VS上重新启动我的功能应用程序时,将从队列中获取下一条消息.

理想情况下,只有当我完成所有数据处理并且当我点击myMsg.Success()时,我是否希望将其从队列中删除.

public static async Task RunAsync([ServiceBusTrigger("xx", "yy", AccessRights.Manage)]BrokeredMessage mySbMsg, TraceWriter log)
{
      try{ // do something with mySbMsg }

      catch{ // put that mySbMsg back in the queue so it doesn't disappear. and throw exception}
}
Run Code Online (Sandbox Code Playgroud)

我正在阅读mySbMsg.Abandon(),但它看起来像将消息放入死信队列中,我不知道如何访问它?如果有更好的错误处理方法?

c# azure azureservicebus azure-servicebus-queues azure-functions

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

SQL - 根据B列中的值从A列中选择

假设我有一个包含2列(a,b)的表,其中包含以下值:

 a     b
---   ---
 1     5
 1    NULL 
 2    NULL
 2    NULL
 3    NULL
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

 a
---
 2
 3
Run Code Online (Sandbox Code Playgroud)

我想只选择列a中的那些不同的值,其中每个单独出现的值在列b中都为NULL .因此从我的期望的输出,"1"将不会进来,因为有一个"5"列b即使有一个为"1"的第二发生NULL.

如何使用TSQL查询执行此操作?

sql t-sql

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

Java:如何在sql查询中使用多个参数在jdbc中执行preparedStatement?

这就是我想要做的:

PreparedStatement query2 = 
conn.prepareStatement ("UPDATE report SET Name = ? WHERE Id = ?");

String blah = "Jane";
int id = 1;

query2.setString(1, blah);
query2.setInt(2, id);
query2.executeQuery();
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

该语句未返回结果集.

我是整个jdbc世界的新手.我在哪里错了?

java jdbc prepared-statement

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

我的 Flask REST API 有多安全?

我的网站是 http 协议。我的flask API 通过flask-httpauth ( https://github.com/miguelgrinberg/Flask-HTTPAuth ) 得到保护。

在我的 Flask API 前面有一个 Tornado Web 服务器,它侦听私有端口 5000。客户端 API 请求首先转到 Tornado 服务器,然后它调用 Flask API

这是我要去的流程:

我的网站(在 http 上)---> corpauthentication(在 https 上)--> 回到我的网站(http)--> 客户端调用 Tornado 服务器 --> Tornado 调用 Flask API 并返回结果

我的 API 和网站的安全性如何?我正在阅读此链接Security of python flask REST API using HTTP Basic Authentication,在我看来该 API 是安全的,但我永远无法确定。

如果它不安全,你认为我还能做些什么来使它更安全?由于需要进行公司验证才能进入,我觉得在 UI 方面它非常安全。但是假设有人正在监听我的 80 端口,即使存在 tornado + httpbasic 身份验证,他们是否能够跟踪任何 API 请求?

这是我的 Tornado 服务器代码:

from tornado.wsgi import WSGIContainer
from tornado.ioloop import IOLoop
from tornado.web …
Run Code Online (Sandbox Code Playgroud)

python api tornado flask

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

SQL:仅在满足条件时更新字段

我想仅在满足条件时才更新列.所以对于"Type"列,我想将其值更改为"MongoDB",只要它的当前值不是"MongoDB"这就是我正在使用的:

UPDATE Report
    SET Type = 
    CASE
       WHEN Type <> 'MongoDB' THEN 'MongoDB'
       ELSE Type
    END
    WHERE Id = x
Run Code Online (Sandbox Code Playgroud)

问题是:即使Type是"MongoDB",我仍然会看到

(1排受影响)

在我的SQL结果中.这个练习的重点是在不需要时减少数据库操作.当条件不满足时,为什么还在修改记录?

谢谢.

sql sql-server

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

Python:如何查询对象列表?

假设我有这个对象列表:

listt = [{
      "CustomerId": "1",
      "Date": "2017-02-02",
      "Content": "AAAAAAAA",
      "Type": 2
    },
    {
      "CustomerId": "2",
      "Date": "2017-02-03",
      "Content": "BBBBBBBB",
      "Type": 1
    },
    {
      "CustomerId": "3",
      "Date": "2017-02-01",
      "Content": "CCCCCCCCC",
      "Type": 1
    },
    {
      "CustomerId": "4",
      "Date": "2017-02-12",
      "Content": "DDDDDDDDDD",
      "Type": 2
    }, ]
Run Code Online (Sandbox Code Playgroud)

找到答案的最简洁方法是什么?

  1. Type = 1的最小日期.

=> 2017-02-1

  1. 选择Type = 2和Date =的内容=(Type = 2的所有对象中的最小日期)

=> AAAAAAAA

我正在阅读有关利用lambda和过滤器的内容,但我无法取得任何进展.有人可以帮忙吗?

python dictionary list

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

正则表达式:在长字符串中查找Guid(带/不带短划线和有/没有分隔符)

如何创建可以识别任何格式的Guid的正则表达式?

"bd1a40db-f47c-4bad-a7f8-0d54d854f6fc";
"bd1a40dbf47c4bada7f80d54d854f6fc";
"something bd1a40dbf47c4bada7f80d54d854f6fc";
"something bd1a40db-f47c-4bad-a7f8-0d54d854f6fc";
"somethingbd1a40db-f47c-4bad-a7f8-0d54d854f6fc";
"somethingbd1a40db-f47c-4bad-a7f8-0d54d854f6fcsomething";
Run Code Online (Sandbox Code Playgroud)

我一直在努力:

^ [{|(] [0-9A-FA-F] {8} - {3} [0-9A-FA-F] {12}〔)|}] |?[{|(] [0 -9a-FA-F] {8}([0-9A-FA-F] {4}){3} [0-9A-FA-F] {12} [)|?}] $

但它并不适用于所有情况.TryParse()方法仅适用于前两种情况.

请帮忙.

c# regex

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

如何在python配置文件中存储字典和列表?

我正在使用config.ini文件来存储我的所有配置.

我需要在配置文件中存储字典和列表,并使用configparser在我的main.py文件中解析它.谁能告诉我我该怎么做呢?

config.ini文件:

[DEFAULT] 
ADMIN = xyz 
SOMEDICT = {'v1': 'k1', 'v2': 'k2'}
SOMELIST = [v1, v2]
Run Code Online (Sandbox Code Playgroud)

main.py:

config = configparser.ConfigParser() 
config.read('config.ini') 
secret_key = config['DEFAULT']['ADMIN']
Run Code Online (Sandbox Code Playgroud)

如果没有办法做到这一点,以json格式配置是一个不错的选择吗?

python config

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