你如何通过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) 我试图找出一种在matplotlib中删除(动态)子图的方法.我看到他们有一个remove
方法,但我得到了错误
NotImplementedError: cannot remove artist
Run Code Online (Sandbox Code Playgroud)
我很惊讶我无法在任何地方找到它.有谁知道如何做到这一点?
我正在尝试从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.ReadCloser
以io.ReadSeeker
最有效的方式从一个到另一个?
我正在尝试通过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) 我有一个数字元组,让我们说nums =(1,2,3).nums的长度不是恒定的.有没有办法在python中使用字符串格式来做这样的事情
>>>print '%3d' % nums
Run Code Online (Sandbox Code Playgroud)
会产生
>>> 1 2 3
Run Code Online (Sandbox Code Playgroud)
希望这不是一个重复的问题,但如果是的话,我找不到它.谢谢
我正在尝试制作一个点和图表.我可以让它在终端上打印出来,但我想用matplotlib绘制它.做这样的事情最好的方法是什么?我在思考分散,但是当我这样做时,列分散得太远了.我想得到的东西很像我提供的链接中的图表,其中列尽可能彼此接近.有没有我可以覆盖的参数来强迫这个?第一次使用matplotlib所以请原谅我,如果这是微不足道的.谢谢.
是否可以在不使用嵌入式结构的情况下继承类型的方法?
第一段代码是嵌入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例程,每个例程都将使用地图中的一个值.没有任何东西写入地图只是被读取.
地图很小,只有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中的现有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)