小编use*_*548的帖子

Python 3中是否有'foreach'功能?

当我遇到这种情况时我可以用javascript来做,我总是认为如果有一个foreach功能就会方便.通过foreach我的意思是下面描述的功能:

def foreach(fn,iterable):
    for x in iterable:
        fn(x)
Run Code Online (Sandbox Code Playgroud)

他们只是在每个元素上做它并且没有产生或返回一些东西,我认为它应该是一个内置函数,并且应该比用纯Python编写它更快,但我没有在列表中找到它,或者它只是叫另一个名字?或者我在这里错过了一些观点?

也许我错了,因为调用Python中的函数成本很高,对于这个例子来说绝对不是一个好习惯.该函数不应该是一个out循环,而应该在它的正文中执行循环,如下所示,在许多python的代码建议中已经提到过:

def fn(*args):
    for x in args:
       dosomething
Run Code Online (Sandbox Code Playgroud)

但我认为foreach仍然受到以下两个事实的欢迎:

  1. 在正常情况下,人们只是不关心性能
  2. 有时API不接受可迭代对象,您无法重写其源.

python foreach python-3.x

115
推荐指数
8
解决办法
36万
查看次数

什么是Sec-WebSocket-Key?

草案-ietf-hybi-thewebsocketprotocol-17的 1.3节"开放式握手"中描述Sec-WebSocket-Key如下:

为了证明接收到握手,服务器必须获取两条信息并将它们组合以形成响应.第一条信息来自| Sec-WebSocket-Key | 客户端握手中的头字段:

Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Run Code Online (Sandbox Code Playgroud)

对于此头字段,服务器必须获取值(如头字段中所示,例如base64编码的[RFC4648]版本减去任何前导和尾随空格),并将其与全局唯一标识符(GUID,[RFC4122]连接起来. ])字符串形式的"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",不太可能被不了解WebSocket协议的网络端点使用.然后在服务器的握手[FIPS.180-2.2002]中返回此串联的SHA-1散列(160位),base64编码(参见[RFC4648]的第4节).

这是我无法理解的事情:为什么不简单地返回代码101?如果正确使用Sec-WebSocket-Key是为了安全性,或者为了证明它们可以处理websocket请求,那么任何服务器都可以返回预期的密钥,并假装它们是WebSocket服务器.

websocket

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

如何在Python中加一个浮点数?

是否有一种简单而直接的方法可以在Python中的浮点数中添加"one"?

我是说这个:

if a == 0.0143:
    a = plus(a)
    assert a == 0.0144

def plus(a):
    sa = str(a)
    index = sa.find('.')
    if index<0:
        return a+1
    else:
        sb = '0'*len(sa)
        sb[index] = '.'
        sb[-1] = 1
        return a+float(sb)
Run Code Online (Sandbox Code Playgroud)

这不是我想要的,因为它给了我0.0144000000001.

python

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

在csv文件中记录的正确方法是什么?

我想记录每个请求的一些信息以格式化的形式发送到繁忙的http服务器,使用日志模块会创建一些我不想要的东西:

[I 131104 15:31:29 Sys:34]
Run Code Online (Sandbox Code Playgroud)

我想到csv格式,但我不知道如何自定义它,而python有csv模块,但阅读手册

import csv
with open('some.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(someiterable)
Run Code Online (Sandbox Code Playgroud)

因为它每次都会打开和关闭一个文件,我担心这样会降低整个服务器的性能,我该怎么办?

python csv logging python-3.x

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

pymysql在很长一段时间后丢失了连接

使用pymysql连接到mysql,让程序运行很长时间,例如,晚上离开办公室并在第二天早上回来.在此期间,对此应用程序没有任何操作.现在进行数据库提交会产生此错误.

  File "/usr/local/lib/python3.3/site-packages/pymysql/cursors.py", line 117, in execute
    self.errorhandler(self, exc, value)
  File "/usr/local/lib/python3.3/site-packages/pymysql/connections.py", line 189, in defaulterrorhandler
    raise errorclass(errorvalue)

pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')
Run Code Online (Sandbox Code Playgroud)

重新启动网络服务器(龙卷风),没关系.为什么如果长时间离开会得到这个错误?

mysql tornado python-3.x pymysql

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

如何获得favicon.ico龙卷风的工作

龙卷风服务器默认没有做favicon.ico,所以我总是得到这些信息

[W 130626 10:38:16 web:1514] 404 GET /favicon.ico (192.168.1.57) 0.57ms
Run Code Online (Sandbox Code Playgroud)

我以各种方式使用web.staticfilehandler包括源代码的示例,并且无法使其工作,我得到的工作如下所示.

handlers = [
    (r'/favicon.ico', tornado.web.StaticFileHandler,dict(url='/static/favicon.ico',permanent=False)),
    (r'/static/(.*)', tornado.web.StaticFileHandler, {"path": "plserver"}),
 ]
Run Code Online (Sandbox Code Playgroud)

我觉得如此倾倒,我必须重定向它,不能确定它会在现实世界的网页上工作.

tornado python-3.x

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

当某些文件更改时,如何使龙卷风自动重启

我在与Python 3和Linux服务器一起使用Tornado时,在编辑和保存一些文本或XML文件时,我希望Tornado重新启动。我检查了文档,并在此处找到自动重载模块和监视功能。

看来它仅适用于pyo文件。如果要在修改某个URI后重新加载它,该怎么办?

linux tornado python-3.x

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

如何让子类自动调用父类 __init__?

我有一个名为 CacheObject 的类,许多类都从它扩展而来。

现在我需要在这个班级的所有班级上添加一些共同的东西,所以我写了这个

class CacheObject(object):

    def __init__(self):
        self.updatedict = dict() 
Run Code Online (Sandbox Code Playgroud)

但是子类没有获得 updatedict 属性。我知道在 python 中调用 super init 函数是可选的,但是有没有一种简单的方法可以强制所有它们添加 init 而不是遍历所有类并逐一修改它们?

python python-3.x

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

使PyCharm警报在外部更改文件时重新加载文件

在用另一个程序修改后切换回PyCharm中打开的文件时,PyCharm不会立即弹出一条消息,询问您是要从磁盘重新加载文件还是粘贴到内存中的版本(与其他编辑器不同)我已经习惯了.

它所做的就是在顶部显示一个带有微小重装按钮的小条; 在您尝试保存文件之前,弹出消息不会显示(到时为止已经太晚了).

我研究了一下; 但找不到开关.如何设置Pycharm来做我想要的呢?(当您尝试使用未保存的更改关闭文件时,解决方案不应禁用弹出的保存对话框窗口.)


截图:

PyCharm的小消息栏:

在此输入图像描述

预期行为的示例:

在此输入图像描述

filesystemwatcher pycharm

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

关于websocket的掩码字段

关于websocket协议,您可以从这里阅读详细信息,http://tools.ietf.org/html/rfc6455#section-5.3

在面具部分,它说:

掩码密钥是客户端随机选择的32位值.
在准备屏蔽帧时,客户端必须
从允许的32位值中选择一个新的屏蔽密钥.掩蔽密钥需要
不可预测; 因此,掩蔽密钥必须从强大的熵源导出,并且给定帧的掩蔽密钥不能
使服务器/代理很容易预测
后续帧的掩蔽密钥.屏蔽密钥的不可预测性
对于防止恶意应用程序的作者选择出现在线路上的字节至关重要.RFC 4086 [RFC4086]讨论了为安全敏感
应用程序提供合适的熵源的原因.

我不明白为什么掩码键必须是不可预测的,更不用说掩码真的是必要的吗?因为你每次都发送它,嗅探器可以得到它并轻松解密它.我能想到的唯一有用的东西是它的首先使playload数据对人类不可读,并且花费更多时间让服务器处理接收

protocols websocket

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