小编Lio*_*nel的帖子

更多Pythonic方式运行进程X次

哪个更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'的情况下运行范围 - 尽管最终是最优雅的

python loops

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

转到HTTP Post并使用Cookies

我正在尝试使用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)

http-post go cookiejar

22
推荐指数
4
解决办法
4万
查看次数

如何使用Python轻松地将变量扩展为字符串?

这样做的好习惯是什么:

代替: print "%s is a %s %s that %s" % (name, adjective, noun, verb)

我希望能够做一些事情: print "{name} is a {adjective} {noun} that {verb}"

python string variables expand idioms

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

Mosh登录自动重新连接tmux会话

我正在使用Moshtmux

我希望在mosh连接成功后运行命令"tmux attach -t 0 -d".

当我通过mosh成功登录时,如何自动调用命令重新连接tmux?

tmux mosh

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

Django和Scrapy层次结构的优点和缺点

组织Django + Scrapy的更好方法是什么?我的目标是使用Django创建scrapy任务,并使用scrapy填充Django数据库.

我之前已经创建了一个scrapy和django项目,它们都位于根目录中,但是我有很多PATH和os.environ问题,我有脚本来设置我的PATH来运行.我想避免这种情况.

我见过两种解决方案:

  1. 启动一个Django项目,并使用SCRAPY_SETTINGS_MODULE environ创建一个scrapy子项目(请参阅Mikhail的答案,在Scrapy内部访问django模型)
  2. 启动Scrapy项目,使用DjangoItem,并使用DJANGO_SETTINGS_MODULE environ

每种解决方案的优缺点是什么?

python django scrapy

6
推荐指数
0
解决办法
720
查看次数

从xml-conduit获取所有名称

我正在从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)

xml haskell xml-conduit

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

验证Scrapy HTTP代理

我可以使用request.meta ['proxy']设置http代理,但如何验证代理?

这不适用于指定用户和传递:

request.meta['proxy'] = 'http://user:pass@123.456.2323:2222'
Run Code Online (Sandbox Code Playgroud)

从四处查看,我可能必须发送request.headers ['Proxy-Authorization'],但我发送的是什么格式?

python django proxy http-authentication scrapy

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

Go 中使用嵌套 XML-RPC 解组组

我正在使用 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)

xml xml-rpc go unmarshalling

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