小编Jef*_*eff的帖子

使用python请求传递csrftoken

你如何通过python模块请求传递csrftoken?这就是我所拥有但它不起作用,而且我不确定将它传入哪个参数(数据,标题,认证...)

import requests
from bs4 import BeautifulSoup

URL = 'https://portal.bitcasa.com/login'

client = requests.session(config={'verbose': sys.stderr})

# Retrieve the CSRF token first
soup = BeautifulSoup(client.get('https://portal.bitcasa.com/login').content)
csrftoken = soup.find('input', dict(name='csrfmiddlewaretoken'))['value']

login_data = dict(username=EMAIL, password=PASSWORD, csrfmiddlewaretoken=csrftoken)
r = client.post(URL, data=login_data, headers={"Referer": "foo"})
Run Code Online (Sandbox Code Playgroud)

每次都有相同的错误消息.

<h1>Forbidden <span>(403)</span></h1>
<p>CSRF verification failed. Request aborted.</p>
Run Code Online (Sandbox Code Playgroud)

python csrf python-requests

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

matplotlib:删除子图

我试图找出一种在matplotlib中删除(动态)子图的方法.我看到他们有一个remove方法,但我得到了错误

NotImplementedError: cannot remove artist
Run Code Online (Sandbox Code Playgroud)

我很惊讶我无法在任何地方找到它.有谁知道如何做到这一点?

python matplotlib

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

我如何从io.ReadCloser转到io.ReadSeeker?

我正在尝试从S3下载文件并将该文件上传到S3中的另一个存储桶.复制API在这里不起作用,因为我被告知不要使用它.

充分利用S3的对象有一个response.Body这是一个io.ReadCloser并上传该文件,有效载荷需要一个Body这是一个io.ReadSeeker.

我能解决这个问题的唯一方法是response.Body将文件保存到文件中,然后将该文件作为文件传递io.ReadSeeker.这需要先将整个文件写入磁盘,然后从磁盘读取整个文件,这听起来非常错误.

我想做的是:

resp, _ := conn.GetObject(&s3.GetObjectInput{Key: "bla"})
conn.PutObject(&s3.PutObjectInput{Body: resp.Body}) // resp.Body is an io.ReadCloser and the field type expects an io.ReadSeeker
Run Code Online (Sandbox Code Playgroud)

问题是,我如何io.ReadCloserio.ReadSeeker最有效的方式从一个到另一个?

go

16
推荐指数
2
解决办法
7427
查看次数

sqlalchemy教程示例无效

我正在尝试通过sqlalchemy教程中给出的示例,但是我遇到了错误.据我所知,我跟着这封信的例子.这是我到目前为止的代码..first()在我查询数据库后,它失败了.

我的版本是0.7.5和python 2.7

from sqlalchemy                 import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy                 import create_engine
from sqlalchemy.orm             import sessionmaker

engine = create_engine('sqlite:///:memory:', echo=True)
engine.execute("select 1").scalar() # works fine

Session = sessionmaker(bind=engine)
session = Session()
Base = declarative_base()

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    fullname = Column(String)
    password = Column(String)

    def __init__(self, name, fullname, password):
        self.name = name
        self.fullname = fullname
        self.password = password

    def __repr__(self):
       return "<User('%s','%s', '%s')>" …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

Python请求非阻塞?

可能重复:
Python请求的异步请求

python模块请求是非阻塞的吗?我没有在文档中看到有关阻止或非阻塞的任何内容.

如果它是阻塞的,你会建议哪个模块?

python python-requests

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

变量元组长度的python字符串格式

我有一个数字元组,让我们说nums =(1,2,3).nums的长度不是恒定的.有没有办法在python中使用字符串格式来做这样的事情

>>>print '%3d' % nums
Run Code Online (Sandbox Code Playgroud)

会产生

>>>   1   2   3
Run Code Online (Sandbox Code Playgroud)

希望这不是一个重复的问题,但如果是的话,我找不到它.谢谢

python printing string-formatting

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

matplotlib的点和图表

我正在尝试制作一个点和图表.我可以让它在终端上打印出来,但我想用matplotlib绘制它.做这样的事情最好的方法是什么?我在思考分散,但是当我这样做时,列分散得太远了.我想得到的东西很像我提供的链接中的图表,其中列尽可能彼此接近.有没有我可以覆盖的参数来强迫这个?第一次使用matplotlib所以请原谅我,如果这是微不足道的.谢谢.

python matplotlib

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

Golang嵌入式结构

是否可以在不使用嵌入式结构的情况下继承类型的方法?

第一段代码是嵌入Property结构的工作代码,Node我可以调用node.GetString它是一个方法Properties.我不喜欢这个是我初始化时Node我有(?)初始化其中的Properties结构.有没有解决的办法?

package main

import "fmt"

type Properties map[string]interface{}

func (p Properties) GetString(key string) string {
    return p[key].(string)
}

type Nodes map[string]*Node

type Node struct {
    *Properties
}

func main() {
    allNodes := Nodes{"1": &Node{&Properties{"test": "foo"}}} // :'(
    singleNode := allNodes["1"]
    fmt.Println(singleNode.GetString("test"))
}
Run Code Online (Sandbox Code Playgroud)

最后,我想做类似以下的事情.哪里Node是类型Properties和初始化不需要初始化Property结构了.以下代码不起作用,但可能清楚我的目标是什么.

package main

import "fmt"

type Properties map[string]interface{}

func (p Properties) GetString(key string) string {
    return p[key].(string)
}

type …
Run Code Online (Sandbox Code Playgroud)

go

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

去并发访问指针方法

我试图了解当您同时访问指针方法时会发生什么?

我有一个指针地图,并产生了几个例行程序.我将地图传递给每个go例程,每个例程都将使用地图中的一个值.没有任何东西写入地图只是被读取.

地图很小,只有4个键,所以有多个go例程可能会使用地图中的相同值.

问题是,当两个例程调用相同指针的方法时会发生什么?我会得到不可预测的结果吗?

编辑

示例:我正在取出地图部分,因为这不是我追求的问题.

我有foo一个类型的指针,MyStruct这个结构有一个DoSomething接受参数的方法.在main函数中我创建了go routines两个,它们都调用foo.DoSomething传递不同的值.在这个例子中,第一个例程具有比第二个更大的预编码计算(这里仅使用休眠时间来模拟计算).结构中没有任何东西在改变我只是在调用结构方法.我是否必须担心第二个例行程序foo.DoSomething在第一个例程仍在使用该方法时调用?

package main

import (
    "log"
    "time"
)

type MyStruct struct {
}

func (self *MyStruct) DoSomething(value int) {

    log.Printf("%d Start", value)

    calculation_time := time.Duration(value) * time.Second
    log.Printf("%d Calculating", value, calculation_time)
    time.Sleep(calculation_time)

    log.Printf("%d Done", value)
}

func main() {

    var foo = new(MyStruct)

    go foo.DoSomething(5)

            // is this method call a problem when the first one is still working? …
Run Code Online (Sandbox Code Playgroud)

go goroutine

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

Golang:将文件附加到现有的tar存档

如何将文件附加到Go中的现有tar存档?我没有在文档中看到有关如何做到这一点的任何明显内容.

我有一个已经创建的tar文件,我想在它已经关闭后添加更多.

编辑

改变文档中的示例并按照给出的答案,我仍然没有得到预期的结果.前三个文件正在写入tar,但当我关闭并再次打开文件写入时,新文件永远不会被写入.代码运行正常.我不知道我错过了什么.

下面的代码给了我一个包含三个文件的tar文件:readme.txt,gopher.txt,todo.txt.foo.bar永远不会写.

package main

import (
    "archive/tar"
    "log"
    "os"
)

func main() {
    f, err := os.Create("/home/jeff/Desktop/test.tar")
    if err != nil {
        log.Fatalln(err)
    }

    tw := tar.NewWriter(f)

    var files = []struct {
        Name, Body string
    }{
        {"readme.txt", "This archive contains some text files."},
        {"gopher.txt", "Gopher names:\nGeorge\nGeoffrey\nGonzo"},
        {"todo.txt", "Get animal handling licence."},
    }
    for _, file := range files {
        hdr := &tar.Header{
            Name: file.Name,
            Size: int64(len(file.Body)),
        }
        if err := tw.WriteHeader(hdr); err != nil { …
Run Code Online (Sandbox Code Playgroud)

go

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