小编Rat*_*Don的帖子

如果在同一表单上有多个提交按钮,如何使用onsubmit()显示确认?

<form onsubmit="return confirm('Are you sure you want to rollback deletion of candidate table?')">
<input type='submit' name='delete' value='Undo' />
<input type='submit' name='no' value='No' />
Run Code Online (Sandbox Code Playgroud)

当用户点击第二个提交按钮时,即No我想将确认对话框显示为"您确定要提交交易吗".

html forms onsubmit

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

Python:TypeError:出于安全原因,不允许选择AuthenticationString对象

我正在创建一个类的对象(with multiprocessing)并将其添加到一个,Manager.dict()以便我可以在其工作完成时从对象内的字典中删除该项(该项指向).

我尝试了以下代码:

from multiprocessing import Manager, Process

class My_class(Process):
    def __init__(self):
        super(My_class, self).__init__()
        print "Object", self, "created."

    def run(self):
        print "Object", self, "process started."


manager=Manager()
object_dict=manager.dict()

for x in range(2):
    object_dict[x]=My_class()
    object_dict[x].start()
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:

TypeError: Pickling an AuthenticationString object is disallowed
for security reasons
Run Code Online (Sandbox Code Playgroud)

为了好奇,我删除了多处理部分,并试着像:

from multiprocessing import Manager
class My_class():
    def __init__(self):
        print "Object", self, "created."

manager=Manager()
object_dict=manager.dict()

for x in range(2):
    object_dict[x]=My_class()
Run Code Online (Sandbox Code Playgroud)

它没有给我任何错误并显示两个对象的地址.

这个错误是什么以及如何让它消失?

python class multiprocessing python-multiprocessing

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

警告:session_destroy():尝试销毁未初始化的会话

我的class.inc文件:

<?php
class logout{
    public function logout(){
        $_SESSION = array();
        if (ini_get("session.use_cookies")) {
            $params = session_get_cookie_params();
            setcookie(session_name(), '', time() - 42000, $params['path'], $params['domain'], $params['secure'], $params["httponly"]);
        }
        session_destroy();
    }   
}

?>
Run Code Online (Sandbox Code Playgroud)

用于注销的代码:

session_start();
require($path."include/class.inc");
if(!empty($_GET['logout'])){
    $object=new logout();
    $object->logout();
    $content='5;url='.$path.'index.php';
}
Run Code Online (Sandbox Code Playgroud)

logout调用该函数时,它会销毁会话,但会显示警告:

Warning: session_destroy(): Trying to destroy uninitialized session in class.inc on line 9
Run Code Online (Sandbox Code Playgroud)

我无法排除故障,如会话没有被任何其他方式破坏之前session_destroy()的class.inc.

php session

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

Scapy数据包嗅探器在每个嗅探的数据包上触发一个动作

我正在使用scapy它python来嗅到实时流量.

capture=sniff(iface="<My Interface>", filter="tcp")
Run Code Online (Sandbox Code Playgroud)

但是这会嗅探每个数据包并将其添加到列表中capture,以便稍后处理.

我想要处理一个数据包并显示数据包的几个字段,只要它被嗅到.即,在嗅探数据包时,它将触发一个我可以分析该数据包的功能.对于少数数据包,这将继续.

我已经准备好了我正在使用捕获的数据包列表的功能.但是我无法将它用于每个实时数据包.

怎么实现呢?有可能scapy或者我需要安装任何其他包吗?

python networking scapy packet-sniffers

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

C中的Bit_fields数组

我在C中有一个8位的标志,我想使用这样的位字段逐位访问它:

#include <stdio.h>
#include <stdint.h>

int main(void) {
    struct flags{
        uint8_t bits1:1;
        uint8_t bits2:1;
        uint8_t bits3:1;
        uint8_t bits4:1;
        uint8_t bits5:1;
        uint8_t bits6:1;
        uint8_t bits7:1;
        uint8_t bits8:1;
    };
    struct flags *my_flags;
    uint8_t x=6,i;

    my_flags=(struct flags *)&x;
    printf("%u\t",my_flags->bits5);
    printf("%u\t",my_flags->bits6);
    printf("%u\t",my_flags->bits7);
    printf("%u\t",my_flags->bits8);
    printf("%u\t",my_flags->bits1);
    printf("%u\t",my_flags->bits2);
    printf("%u\t",my_flags->bits3);
    printf("%u\t",my_flags->bits4);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我得到了预期的输出:0 0 0 0 0 1 1 0.

但这有点太多编码.

  1. 是不是像位字段数组或任何其他解决方法?(要么)
  2. 在C my_flags->bits_i中有什么类似的东西,i它将成为循环中的计数器吗?

我知道默认情况下两者都不存在.但有没有其他方法可以实现相同的目标?

c bit-fields

8
推荐指数
2
解决办法
1544
查看次数

Python构造函数的子类化过程

我正在尝试创建一个对象作为一个新进程.如果我给类的构造函数,程序显示错误.

码

import multiprocessing as mp 
import time

class My_class(mp.Process):
    def __init__(self):
            self.name = "Hello "+self.name
            self.num = 20

    def run(self):
        print self.name, "created and waiting for", str(self.num), "seconds"
        time.sleep(self.num)
        print self.name, "exiting"

if __name__ == '__main__':
    print 'main started'
    p1=My_class()
    p2=My_class()
    p1.start()
    p2.start()  
    print 'main exited'
Run Code Online (Sandbox Code Playgroud)

错误

File "/usr/lib64/python2.7/multiprocessing/process.py", line 120, in start
    assert self._popen is None, 'cannot start a process twice'
AttributeError: 'My_class' object has no attribute '_popen'
Run Code Online (Sandbox Code Playgroud)

但是,当插入行super(My_class, self).__init__()的super(My_class, self).__init__(),在程序运行的罚款.

最终构造函数:

def __init__(self): …
Run Code Online (Sandbox Code Playgroud)

python initialization class

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

Flask-WTForms RadioField自定义验证器消息不起作用

在中Flask-WTForms,我们可以为每个字段的每个验证器提供自定义消息。但是因为RadioField它仅显示默认消息。下面是一个例子。

>>> from wtforms import Form, RadioField, TextField
>>> from wtforms.validators import *
Run Code Online (Sandbox Code Playgroud)

文本域

>>> class MyForm(Form):
        x = TextField(u'Some text', validators = [Required(message="Hello")])
Run Code Online (Sandbox Code Playgroud)

错误信息

>>> form = MyForm()
>>> form.x.data
>>> form.validate()
False
>>> form.errors
{'x': ['Hello']}
Run Code Online (Sandbox Code Playgroud)

因此,TextField它显示了自定义错误消息。

无线电场

>>> class MyForm(Form):
        x = RadioField(choices = [(1, '1'), (2, '2')], validators = [Required(message="Hello")])
Run Code Online (Sandbox Code Playgroud)

错误信息

>>> form = MyForm()
>>> form.x.data
u'None'
>>> form.validate()
False
>>> form.errors
{'x': [u'Not a valid choice']}
Run Code Online (Sandbox Code Playgroud)

自定义错误消息不存在。我想,对于验证TextField …

python flask flask-wtforms

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

在python中进行多处理时更改全局变量

所以我最终要做的是读取一行,用该行中的信息进行一些计算,然后将结果添加到某个全局对象,但我似乎永远无法让它工作.例如,下面的代码中的测试始终为0.我知道这是错的,我尝试过其他方式,但它仍然没有用.

import multiprocessing as mp

File = 'HGDP_FinalReport_Forward.txt'
#short_file = open(File)
test = 0

def pro(temp_line):
    global test
    temp_line = temp_line.strip().split()
    test = test + 1
    return len(temp_line)

if __name__ == "__main__":
    with open("HGDP_FinalReport_Forward.txt") as lines:
        pool = mp.Pool(processes = 10)
        t = pool.map(pro,lines.readlines())
Run Code Online (Sandbox Code Playgroud)

python multiprocessing python-2.7

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

如何将正则表达式转换为NFA?

Python中是否有可用于将正则表达式转换为相应NFA的模块,或者我是否必须从头开始构建代码(通过将正则表达式从中缀转换为后缀,然后实现Thompson的算法以获得相应的NFA)?

Python中是否可以从转换表中获取NFA的状态图?

python regex nfa

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

Python 多处理守护进程 vs 非守护进程 vs 主进程

我正在 Python 中学习多处理,同时我发现守护进程和非守护进程之间关于主进程的这种奇怪行为。 我的代码:

import multiprocessing
import time

def worker(name,num):
    print name, 'Starting'
    time.sleep(num)
    print name, 'Exiting'

if __name__ == '__main__':
    print 'main starting'
    p1=multiprocessing.Process(target=worker, args=("p1",7,))
    p2=multiprocessing.Process(target=worker, args=("p2",5,))
    p2.daemon=True
    p1.start()
    p2.start()
    time.sleep(4)
    print 'main exiting'
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

main starting
p1 Starting
p2 Starting
main exiting
p1 Exiting
Run Code Online (Sandbox Code Playgroud)

预期输出:

main starting
p1 Starting
p2 Starting
main exiting
p2 Exiting
p1 Exiting
Run Code Online (Sandbox Code Playgroud)

经过几次搜索,我找到了这个答案并将以下行插入到我的代码中。

logger = multiprocessing.log_to_stderr(logging.INFO)
Run Code Online (Sandbox Code Playgroud)

我得到的输出是,

main starting
[INFO/p1] child process calling self.run()
p1 Starting
[INFO/p2] child process calling self.run() …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

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