小编use*_*794的帖子

python SocketServer.BaseRequestHandler知道端口并使用已经打开的端口

这是我玩的代码,但每次我犯了一个错误,我都无法重新启动它.它告诉我端口/套接字已经被使用了这是第一个问题第二个问题在我的MyTCPHandler中如何知道所使用的端口?这是我的代码:

# MetaProject v 0.2
# -*- coding: utf-8 -*-
"""
Thanks to :
People from irc :
Flox,Luyt
People from stack Overflow :
Philippe Leybaert,Platinum Azure,methodin,Suresh Kumar,S.Lott,MatTheCat,
kevpie,Ignacio Vazquez-Abrams,adamk,Frédéric Hamidi,THC4k,THC4k,Blam
"""
import SocketServer
import threading

class MyTCPHandler(SocketServer.BaseRequestHandler):
    def handle(self):
        self.data = self.request.recv(1024)
        socket = self.request
        print "%s wrote:" % self.client_address[0]
        print self.data
        print self.__dict__
        socket.sendto(self.data.upper(), self.client_address)


def serve_thread(host, port):
    server = SocketServer.TCPServer((host, port), MyTCPHandler)
    server.serve_forever()





if __name__ == "__main__":
    threading.Thread(target=serve_thread,args=('localhost', 1238)).start()
    threading.Thread(target=serve_thread,args=('localhost', 1237)).start()
    print "toto"
Run Code Online (Sandbox Code Playgroud)

我做了 :

def serve_thread(host, …
Run Code Online (Sandbox Code Playgroud)

python sockets port socketserver

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

在 git 中提交一个“虚拟”文件并制作它

是否可以在 git 上提交文件系统上不存在的文件?

例子:

git add "hello world" "hello.txt"

我想在文件 hello.txt 中添加 hello world 但我不想在我的文件系统上写入 hello.txt。

hello.txt 不存在,我不希望它存在,除了在 git 系统上。(我不想在我的文件系统上写这个文件)。有没有办法做到这一点 ?

问候

布西埃

git virtual

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

openpgp 和 golang

我对文档有一些问题。

这是我的程序:

package main

import (
    "bytes"
    "code.google.com/p/go.crypto/openpgp"
    "encoding/base64"
    "fmt"
)

func main() {

    var entity *openpgp.Entity
    entity, err := openpgp.NewEntity("bussiere", "test", "bussiere@gmail.com", nil)
    if err != nil {

    }

    var (
        buffer bytes.Buffer
    )

    entity.SerializePrivate(&buffer, nil)
    data := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

    fmt.Printf("%q\n", data)

    entity.Serialize(&buffer)
    data2 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

    fmt.Printf("%q\n", data2)

    entity.PrivateKey.Serialize(&buffer)
    data3 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

    fmt.Printf("%q\n", data3)

    entity.PrimaryKey.Serialize(&buffer)
    data4 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

    fmt.Printf("%q\n", data4)

    //fmt.Printf(buffer.String())

}
Run Code Online (Sandbox Code Playgroud)

以下是数据:

https://gist.github.com/bussiere/5159890
Run Code Online (Sandbox Code Playgroud)

这是要点上的代码:

https://gist.github.com/bussiere/5159897
Run Code Online (Sandbox Code Playgroud)

什么是公钥?

以及如何使用它?

以及如何制作更大的钥匙?

pgp go openpgp

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

如何获取io.reader对象的大小

我想得到一个io.reader的大小来返回一个bse64关注图片的长度.

主要问题是获取dec的大小以返回内容长度标头

这是我的代码:

package main

import (
    "fmt"
    "net/http"
    "time"
    "strconv"
    "io"
        base64 "encoding/base64"
    "bytes"

)

func pix(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
    cookie, _ := r.Cookie("csrftoken")
    fmt.Printf(cookie.Value)
}



func img(w http.ResponseWriter, r *http.Request) {
    expiration := time.Now().Add(365 * 24 * time.Hour)
    cookie    :=    http.Cookie{Name: "csrftoken",Value:"abcd",Expires:expiration,HttpOnly: false}
    http.SetCookie(w, &cookie)
    img := bytes.NewBufferString("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAIAAACRXR/mAAADMUlEQVRYw+2YTUgUYRjHZzOJIoNA+rrUyYNIRQgRHaLo4qFDBEGeunSxS9TFU0QEnhIh6IvokrUzO2uamRmbG6XmR/mVaKZpZVbYvvO143zszsxOz+yahNm+785sITEP72F3Z+adH8/zf5+PpagwtxKXj+Vj+Vg+lo/lY+W+WI4KpddKwWIQFUSF97nNLcLGZt75SiOHchEXfskDVmYjlowpiEoei3UT2ljcFJOpOd169C1Z2SuvgsdpB7cgzB16EV/byGM2xDIVPxQujKmBDF/2m2l0vFvmEin7N2v8kiiPiOeGlGHRvP1RdxA9eYtGR7pk2Pf6lI7RCoP2RaWkZWe3fsFc18hvesAHPGEFUc24ltnx3kyiCJwfRMs6dTXLdSIjO9Osal18qzKfE5V9coDxhlU7qS3uOyiaB55JDtkS2TKoLCLaOLPS4b02pQdCHiUfRKf653/d2kjZN6f10jYxI2EnrGk5H+2WsVi6ZZ8fVSmGQKaYyyFuR6ugmUtVrJo2C7HokeGq8447sYpOPBbo3XFzKC95626sZlz905sUM9XLGbXvtKtTOhZrQDApkhNNkiAOPo/viojh2YSZsj1aF2eQ5n2stuomNQjiiGQanrFufdCXP8gu8tbhjridJ6saVPKExXJrwlwfb3pnAg2Ut0tEBZFI8gza81Tik15DCDIoINQ7aQdBo90RMfrdwNaWLFY9opJGkBQrhCA/HXspQ8W1XHkN6vfWFiGH9ouwhdpJUFuy2JX3eg6uyqENpNHZYcUd02jcLMI2WO67UwZVv1G1HLMq3L83KuEbLPdY7IL2L42p0MMQiuzkq/ncwucOi6qPbWkWoPfCUsENpweUnP1EmE4XGhgagT72RyXolkSCHBbTU3By3fgJj8VyJW3CmSHl8oTWMJuYUUizVvtcsuyJ6J4J663CMLevXar/lJgnKNSgbphzKjriTn5i0F8eX9ODXnEzf6JHvjGtv+aNGdWCOEKnJRmpr5oFVQV8WTWglIKHMlPhv5uqQ1xGYfB5fRMPo+n2VmFbi7ChiS9oWBhZvXrI01TNLg7yPxt51v9rxMfysXwsH8vH+g+wfgDUr+5LcyNV4AAAAABJRU5ErkJggg==")
    dec := base64.NewDecoder(base64.StdEncoding, img)
    w.Header().Set("Content-Type", "image/jpeg")

// the problem is here i would like to get the size to return the length …
Run Code Online (Sandbox Code Playgroud)

go

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

如何在 bigquery 中创建 DateTime 字段并在 golang 中更新它?

这里基本上是我在 golang 中为 bigquery 创建的脚本:

type data_pix struct {
    Id string
    IdC string
    Stamp   int64
    Tag []string


}
func createTable(client *bigquery.Client, datasetID, tableID string) error {
    ctx := context.Background()
    // [START bigquery_create_table]
    schema, err := bigquery.InferSchema(data_pix{})
    if err != nil {
        return err
    }
    table := client.Dataset(datasetID).Table(tableID)
    if err := table.Create(ctx, schema); err != nil {
        return err
    }
    // [END bigquery_create_table]
    return nil
}
Run Code Online (Sandbox Code Playgroud)

目前我主要使用 Int64 中的时间戳。

但我正在寻找任何关于如何将 Datetime 添加到我的结构和顺便说一下将 Datetime 添加到我的数据的示例

感谢致敬

go google-bigquery

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

使用 psql 数组将 pq 迁移到 pgx 的问题

这是我的旧代码:

cardinalPoints := []string{"75101", "75110", "75112", "75115", "92062"}
query = `SELECT * FROM  "DataCom_travel" WHERE ((com1 = $1 AND com2 IN ($2)) OR (com1 IN ($2) AND com2 = $1));`
err := db.Select(&dataComTravel, query, "92050", pq.Array(cardinalPoints))
Run Code Online (Sandbox Code Playgroud)

如何使用 pgx 做到这一点?

pgx.Array 似乎不起作用。

postgresql go pgx

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

使用正确的时区登录 python

我想在 UpdateSubsStatus.log 文件中以正确的时区时间(欧洲/巴黎)写入日志...

这是我尝试过的,注释行是我厌倦的,但它不起作用。

import pytz

class Formatter(logging.Formatter):
    """override logging.Formatter to use an aware datetime object"""
    def converter(self, timestamp):
        dt = datetime.datetime.fromtimestamp(timestamp)
        tzinfo = pytz.timezone('America/Denver')
        return tzinfo.localize(dt)
        
    def formatTime(self, record, datefmt=None):
        dt = self.converter(record.created)
        if datefmt:
            s = dt.strftime(datefmt)
        else:
            try:
                s = dt.isoformat(timespec='milliseconds')
            except TypeError:
                s = dt.isoformat()
        return s
#console = logging.StreamHandler()
logging.basicConfig(filename='UpdateSubsStatus.log', filemode='a', format='%(asctime)s;%(name)s - %(levelname)s - %(message)s',datefmt='%Y-%m-%d %H:%M:%S')
#console.setFormatter(Formatter)
#logging.getLogger('').addHandler(console)
Run Code Online (Sandbox Code Playgroud)

是否存在一种通过基本配置使用时区的简单方法?

问候

python logging

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

如何在golang中获取gcloud命令的结果?

这是我的代码:

package main

import (
    "os/exec"
    "log"
    "fmt"
)

func main() {
    out, err := exec.Command("bash", "-c", "gcloud auth application-default login").Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("The output is %s\n", out)
}
Run Code Online (Sandbox Code Playgroud)

当我执行这段代码时,它会打开我的浏览器并显示正确的网址...但我想获取网址。

当我输入这个命令时:

gcloud auth application-default login
Run Code Online (Sandbox Code Playgroud)

在我的外壳中我有:

Your browser has been opened to visit:

    https://accounts.google.com/o/oauth2/auth?redirect_uri=h***********************************
Run Code Online (Sandbox Code Playgroud)

这就是我希望在程序中通过 Out 获得的文本。

知道如何得到它吗?

编辑这里有 3 件事我已经测试过但没有成功

/*
out, err := exec.Command("bash", "-c", "gcloud auth application-default login").CombinedOutput()
if err != nil {
    log.Fatal(err)
}
fmt.Printf("The output is %s\n", out)

*/

cmd …
Run Code Online (Sandbox Code Playgroud)

shell go gcloud

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

django admin中的对象为foreignkey:

我的django模型中有这个对象:

class Stock(models.Model):
    name =  models.CharField(null=True,blank=True,max_length=20)
    def ___str__(self):
        return self.name
    def __unicode__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

当我在django管理员中看到它时效果很好.

但是在我想要查看此对象的管理员中:

class StockData(models.Model):
    stock = models.ForeignKey(Stock,on_delete=models.PROTECT,null=True,blank=True)
    date = models.DateTimeField(null=True,blank=True)
    interval = models.CharField(null=True, blank=True,max_length=2)

    def ___str__(self):
        return self.stock+ ":" + str(self.date)
    def __unicode__(self):
        return self.stock + ":" + str(self.date)
Run Code Online (Sandbox Code Playgroud)

有这个管理员:

from django.contrib import admin
from .models import StockData

# Register your models here.
class StockData_Admin(admin.ModelAdmin):
    list_display = (
        'date',
        'stock',
        'interval'
    )

admin.site.register(StockData,StockData_Admin)
Run Code Online (Sandbox Code Playgroud)

但在管理页面中,库存对象表示为:

Stock object (1)
Run Code Online (Sandbox Code Playgroud)

编辑:

在此输入图像描述

那么如何解决这个问题?

我的django版本:

>>> import django
>>> django.VERSION 
(2, …
Run Code Online (Sandbox Code Playgroud)

django python-3.x

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

如何记录或打印使用 gin 收到的请求?

例子:

func createOrUpdateInfluencer(c *gin.Context) { }
Run Code Online (Sandbox Code Playgroud)

如何打印在我的函数中收到的请求中的数据?就我而言,我应该接收 JSON,如何在不知道它是什么样子的情况下打印它?

go go-gin

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