我试图测试一个角色是否是一个特殊角色.
当我编写以下代码时,它的' - '字符失败:
import re
s = '-'
regex = re.compile('[!@#$%^&*()-+]')
if regex.search(s) == None:
print("Not found")
else:
print("Found")
Run Code Online (Sandbox Code Playgroud)
输出>>未找到
但是,如果我在模式中更改' - '字符的位置如下(代码的第3行),它可以正常工作
import re
s = '-'
regex = re.compile('[!@#$%^&*()+-]')
if regex.search(s) == None:
print("Not found")
else:
print("Found")
Run Code Online (Sandbox Code Playgroud)
输出>>找到
造成这种差异的原因是什么?我如何确保检测到这些字符?
我目前正在使用 Flask 开发一个应用程序。每当遇到错误时,我都会使用 abort 引发错误,例如 abort(404)。
我创建了一个新的错误处理蓝图,并在错误蓝图中包含以下文件:
应用程序/错误/__init__.py
from flask import Blueprint
bp = Blueprint('errors', __name__)
from app.errors import handlers
Run Code Online (Sandbox Code Playgroud)
应用程序/错误/handlers.py
from app.errors import bp
from flask import jsonify, make_response
@bp.errorhandler(404)
def not_found_error():
return make_response(jsonify({"error: ", "Not found"}), 404)
Run Code Online (Sandbox Code Playgroud)
我还注册了蓝图,如下:
应用程序/__init__.py
from app.errors import bp as errors_bp
app.register_blueprint(errors_bp)
Run Code Online (Sandbox Code Playgroud)
但是,当我遇到错误时,我收到的是 HTML 响应而不是 JSON 响应。如果我将错误处理程序包含在与 API 相同的蓝图中,它就可以正常工作。如何拥有单独的错误处理程序蓝图?
我目前在我的项目中使用 kaminari 进行分页。除了页面参数之外,生成的 url 还包含其他参数。
例如,我使用以下内容生成下一页网址:
path_to_next_page(items, params: params)
Run Code Online (Sandbox Code Playgroud)
这给了我如下内容:
/items?param1=value1&page=1
但是,我只希望页面参数可见,而不是其他参数:
/项目?页=1
我尝试了以下代码,但它仍然为我提供了包含所有参数的 URL:
path_to_next_page(items, params: {page: params['page']})
Run Code Online (Sandbox Code Playgroud)
我也解决了这个问题,并对各个页面链接尝试了以下操作:
paginate items, params: {page: params['page']}
Run Code Online (Sandbox Code Playgroud)
但是,这也会生成包含所有参数的 URL。
有没有办法生成只包含页面参数的 URL?
我正在尝试使用 asyncio 运行以下程序:
import asyncio
async def main():
print('Hello')
await asyncio.sleep(1)
print('World')
asyncio.run(main())
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
AttributeError: 模块“asyncio”没有属性“run”
python --version 给出:Python 2.7.8
python3 --version 给出:Python 3.7.1
我将脚本作为python3 script.py运行
关于如何在没有任何错误的情况下运行此程序的任何想法?
我将通过以下文档来实现Python中的Lisp Interpreter:http://norvig.com/lispy.html
在standard_env函数中,已经定义了一个字典,用于将某些符号或变量映射到它们相应的函数或值.但是,我无法理解env词典中的以下条目:
env = {}
env.update({
'equal?': op.eq,
'list?': lambda x: isinstance(x,list),
'null?': lambda x: x == [],
'number?': lambda x: isinstance(x, (int, float)),
'procedure?': callable,
'symbol?': lambda x: isinstance(x, str),
})
Run Code Online (Sandbox Code Playgroud)
什么是'?' 在关键意义的最后?您能否提供一些使用这些条目的例子?