小编Gre*_*own的帖子

处理python套接字中的超时错误

我试图找出如何使用try和除了处理套接字超时.

from socket import *

def main():
    client_socket = socket(AF_INET,SOCK_DGRAM)
    client_socket.settimeout(1)
    server_host = 'localhost'
    server_port = 1234
    while(True):
        client_socket.sendto('Message',(server_host,server_port))
        try:
            reply, server_address_info = client_socket.recvfrom(1024)
            print reply
        except socket.Timeouterror:
            #more code
Run Code Online (Sandbox Code Playgroud)

我添加套接字模块的方法是导入所有内容,但是如何处理文档中的异常,它说你可以使用socket.timeouterror,但这对我不起作用.另外,如果我这样做,我将如何编写try异常块import socket?有人也可以解释进口的差异.

python sockets error-handling exception

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

可变长度数组的原型

我正在尝试编写一个在c中采用可变大小数组的函数.

void sort(int s, int e, int arr[*]){
    ...
}
Run Code Online (Sandbox Code Playgroud)

它表示对于可变长度数组,它需要在函数声明中有界.那是什么意思?我正在使用xcode 4.0,使用LLVM编译器2.0.

谢谢您的帮助.

c arrays variable-length-array

6
推荐指数
2
解决办法
5467
查看次数

python无法导入模块

我使用以下软件包设置了我的程序:

-base
    ---init.py
    ---base_class.py
-test
    ---init.py
    ---test.py
Run Code Online (Sandbox Code Playgroud)

当我执行导入语句from base.base_class import BaseClass时,test.py我在运行时遇到错误

    from base.base_class import BaseClass
ImportError: No module named base.base_class
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么它无法导入该模块.

python import package

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

从该类内部的类调用实例变量

我有一个具有logger实例变量的类,我在其中创建了另一个类,我想在该类中使用logger实例变量,但不知道如何调用它.

示例代码:

class A():
    def __init__(self):
        self.logger = Logger.get() #this works fine didn't include the Logger class

    def func(self):
        class B():
            def __init__(self):
                self.a = 'hello'
            def log(self):
            #How do I call A's logger to log B's self.a
            #I tried self.logger, but that looks inside of the B Class
Run Code Online (Sandbox Code Playgroud)

python class

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

jquery .load with python flask

我试图在我的烧瓶应用程序中使用jquery .load每次用户按下按钮添加div时添加一个div,但是找不到html文件.

有问题的功能.

$(document).ready(function(){
        $("#add").click(function(){
            $("#form").load('/templates/info.html');
        })
});
Run Code Online (Sandbox Code Playgroud)

info.html文件只包含html的短div部分.

index.html代码,我想在表单后加载info.html div.

  <form id="form" action="{{ url_for('get_data') }}" method="post">
        <input type="button" name="add" value="Add" id="add">
        <input type="submit" id="submit" value="To XML">
    </form>
Run Code Online (Sandbox Code Playgroud)

/templates/info.html

 <div id="info">
     <label>name</label>
     <input type="text" name="name">
     <br>
     <label>asfd</label>
     <input type="text" name="asfd">
      <br>
 </div>
Run Code Online (Sandbox Code Playgroud)

我一直收到404错误.

127.0.0.1 - - [04/Mar/2014 19:55:50] "GET /templates/info.html HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)

我在本地运行烧瓶应用程序,并且/template/info.html是正确的路径.我只是不知道它为什么不加载那个HTML.当我使用jquery函数和.append()并将长html字符串放入append函数时,我能够使它工作,但添加info.html变得更长我只想加载整个文件.

任何帮助都会非常感谢.

html python jquery flask

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

两个匹配!在python中的文件中

我有一个文件,其中每个块由!sie 分隔

!
 vserver XXXX
 virtual XX.xx.XX.XX tcp 389
 owner LDAP
 serverfarm XXX
 idle 5
 persistent rebalance
 inservice
!
Run Code Online (Sandbox Code Playgroud)

我想得到包含vserver信息的每个部分.我试图在python中使用正则表达式,但我在处理换行符时遇到问题

我试过这样的事情:

pattern = r"!\n vserver \S+\n "
Run Code Online (Sandbox Code Playgroud)

python regex

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

使用数学获取范围内的数字

有没有办法取一个数字并使用一些数学,将它转换为两个数字之间的范围,如[LB,UB].我知道我可以做点什么x = x % UB之间的数字0-UB.但是我如何得到它,所以它在LB-UB之间.我尝试x = (x % UB) + LB但是我无法弄清楚如何确保在添加LB后x不会超过UB.

c++ math

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

使用参数时,在烧瓶中的Url_for

我试图通过传递用户名来使用flask的url_for()导航到用户的页面.我把html文件作为

{% for user in users %}
    <li><h2>{{ user.name }}</h2>{{ user.email|safe }}
    <a href="{{ url_for('users_stats',username = {{ user.name }}) }}">stats</a> #This doesn't work
    <a href="/users/{{ user.name }}"> stats </a> #This does work
Run Code Online (Sandbox Code Playgroud)

在我的python文件中,我有函数as

@app.route('/users/<username>')
def users_stats(username):
    ...
Run Code Online (Sandbox Code Playgroud)

我在其中呈现另一个模板.为什么第一种方式不起作用?此外,由于第二种方式是通常的做法是做这样的网址或使用url_for()?

python url flask

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

根据另一个布尔列表从一个列表中获取元素

我有两个相同大小的列表,一个是字符串列表,另一个是布尔值 ( True, False) 列表,我只想在索引为 True 时返回字符串列表。

b_list = [True, False, True]
s_list = ['abc', 'sfsfsfsf', 'def']
Run Code Online (Sandbox Code Playgroud)

s_list = ['abc','def'] 
Run Code Online (Sandbox Code Playgroud)

python

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

ipv6 python套接字无法正常工作

我有一个简单的客户端服务器程序和服务器端工作,但由于某种原因,我无法让客户端与服务器进行交互.我能够启动服务器并使用nc -u ::1 50007并连接到它,它按预期工作.

服务器代码:

import socket
import sys



def main():
    HOST = '::1'
    PORT = 50007
    res = socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM, 0, socket.AI_PASSIVE)
    af, socktype, proto, canonname, sa = res[0]
    try:
        s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
        s.bind(sa)
        while True:
            data, addr = s.recvfrom(1024)
            if not data:
                break
            print 'server received %r from %r' % (data, addr)
            s.sendto(data, addr)
        s.close()
    except socket.error, msg:
        print msg



if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

客户代码:

import socket
import sys

def main():
    HOST …
Run Code Online (Sandbox Code Playgroud)

python sockets ipv6

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