哪个更pythonic?
循环:
count = 0
while count < 50:
print "Some thing"
count = count + 1
Run Code Online (Sandbox Code Playgroud)
对于循环:
for i in range(50):
print "Some thing"
Run Code Online (Sandbox Code Playgroud)
编辑:不重复,因为这有答案可以确定哪个更清晰,而不是如何在没有'i'的情况下运行范围 - 尽管最终是最优雅的
我正在尝试使用Go登录网站并存储cookie供以后使用.
您能举例说明发布表单,存储cookie以及使用cookie访问其他页面吗?
我想我可能需要通过研究http://gotour.golang.org/src/pkg/net/http/client.go来让客户存储cookie.
package main
import ("net/http"
"log"
"net/url"
)
func Login(user, password string) string {
postUrl := "http://www.pge.com/eum/login"
// Set up Login
values := make(url.Values)
values.Set("user", user)
values.Set("password", password)
// Submit form
resp, err := http.PostForm(postUrl, values)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// How do I store cookies?
return "Hello"
}
func ViewBill(url string, cookies) string {
//What do I put here?
}
Run Code Online (Sandbox Code Playgroud) 这样做的好习惯是什么:
代替:
print "%s is a %s %s that %s" % (name, adjective, noun, verb)
我希望能够做一些事情:
print "{name} is a {adjective} {noun} that {verb}"
组织Django + Scrapy的更好方法是什么?我的目标是使用Django创建scrapy任务,并使用scrapy填充Django数据库.
我之前已经创建了一个scrapy和django项目,它们都位于根目录中,但是我有很多PATH和os.environ问题,我有脚本来设置我的PATH来运行.我想避免这种情况.
我见过两种解决方案:
每种解决方案的优缺点是什么?
我正在从http://hackage.haskell.org/package/xml-conduit-1.1.0.9/docs/Text-XML-Stream-Parse.html解析修改后的XML
这是它的样子:
<?xml version="1.0" encoding="utf-8"?>
<population xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://example.com">
<success>true</success>
<row_count>2</row_count>
<summary>
<bananas>0</bananas>
</summary>
<people>
<person>
<firstname>Michael</firstname>
<age>25</age>
</person>
<person>
<firstname>Eliezer</firstname>
<age>2</age>
</person>
</people>
</population>
Run Code Online (Sandbox Code Playgroud)
我如何获得的列表firstname,并age为每个人?
我的目标是使用http-conduit下载这个xml,然后解析它,但我正在寻找一个解决方案,解决在没有属性时如何解析(使用tagNoAttrs?)
这是我尝试过的,我在Haskell评论中添加了我的问题:
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad.Trans.Resource
import Data.Conduit (($$))
import Data.Text (Text, unpack)
import Text.XML.Stream.Parse
import Control.Applicative ((<*))
data Person = Person Int Text
deriving Show
-- Do I need to change the lambda function \age to something else to get both name and age?
parsePerson …Run Code Online (Sandbox Code Playgroud) 我可以使用request.meta ['proxy']设置http代理,但如何验证代理?
这不适用于指定用户和传递:
request.meta['proxy'] = 'http://user:pass@123.456.2323:2222'
Run Code Online (Sandbox Code Playgroud)
从四处查看,我可能必须发送request.headers ['Proxy-Authorization'],但我发送的是什么格式?
我正在使用 Webfaction API 并尝试解组他们的响应以获取会话 ID(12345abcde...如下)。
当特定值嵌套在多个字段(即 params>param)下时,如何访问该特定值?
下面的代码位于http://play.golang.org/p/krG4_fXVka
package main
import ("encoding/xml"
"fmt"
)
type Result struct {
XMLName xml.Name `xml:"methodResponse"`
Values []string `xml:"params>param>value"`
}
func main() {
data := `
<methodResponse>
<params>
<param>
<value><array><data>
<value><string>12345abcde12345abcde12345</string></value>
<value><struct>
<member>
<name>username</name>
<value><string>trex</string></value>
</member>
<member>
<name>home</name>
<value><string>/home</string></value>
</member>
<member>
<name>mail_server</name>
<value><string>Mailbox1</string></value>
</member>
<member>
<name>web_server</name>
<value><string>Web12</string></value>
</member>
<member>
<name>id</name>
<value><int>1234</int></value>
</member>
</struct></value>
</data></array></value>
</param>
</params>
Run Code Online (Sandbox Code Playgroud)
`
v := Result{}
err := xml.Unmarshal([]byte(data), &v)
if err != nil {
fmt.Printf("error: %v", err)
return
} …Run Code Online (Sandbox Code Playgroud)