小编Dou*_*tle的帖子

在Python中的POST请求中传递"+"字符

我试图在Python脚本中进行一些自动化,但我遇到了一个问题.我正在尝试对服务器进行POST.

url = 'http://www.example.com'
params = {'arg0': 'value', 'arg1': '+value'}

f = urllib.urlopen(url, urllib.urlencode(params))
print f.read()
Run Code Online (Sandbox Code Playgroud)

我已经完成了对相同浏览器操作的wireshark捕获,其中第二个arg arg1被传递+value,但是当我使用Python时,它+被更改为%2B,即

Line-based text data: application/x-www-form-urlencoded
arg0=value&arg1=%2Bvalue
Run Code Online (Sandbox Code Playgroud)

应该是什么时候:

Line-based text data: application/x-www-form-urlencoded
arg0=value&arg1=+value
Run Code Online (Sandbox Code Playgroud)

我也使用了Requests模块,似乎做了同样的事情.

url = 'http://www.example.com'
params = {'arg0': 'value', 'arg1': '+value'}

f = requests.post(url, params)
Run Code Online (Sandbox Code Playgroud)

当你遇到与'+'相关的问题时谷歌不是你的朋友,因为它似乎是其他许多问题.

python python-requests

7
推荐指数
2
解决办法
6905
查看次数

圆弧,切饼,在 svgwrite 中

有没有人有在 svgwrite (python) 中完成的弧形切片(奶酪切片或吃豆人)的工作示例,我尝试过此操作,试图获得从 (100,100) 开始的西北象限,但得到一个奇怪的形状:

w = dwg.path(d="M 100,50 A 50,50 0 0 1 50,100 l 0,50 z", fill="#ffff00", stroke='none')
Run Code Online (Sandbox Code Playgroud)

我查看了 inkscape 生成的 svg 的实际输出,这是等效的 xml:

<path
   d="M 100,50 A 50,50 0 0 1 50,100 l 0,50 z"
   style="fill:#ffff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
   sodipodi:type="arc"
   sodipodi:cx="100"
   sodipodi:cy="100"
   sodipodi:rx="50"
   sodipodi:ry="50"
   sodipodi:start="4.71"
   sodipodi:end="3.14"
    />
Run Code Online (Sandbox Code Playgroud)

但我无法 a) 让 svgwrite 生成这个 b) 如果我获取 svgwrite 生成的 svg 文件并将这段代码替换到其中,它没有任何效果,可能是因为 sodipodi 命令是 inkscape 特定的。

有人有这方面的工作示例吗?

python svg inkscape

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

nose2中是否存在assertRaises(或assert_raises)

我正在尝试为python项目编写一些鼻子测试.自从我上次写了一些nostests以来,已经有一段时间了(一年左右),看起来nose2是现在建议的模块.

我想编写一个测试来检查在将错误的值发送到def函数时引发异常.我知道在鼻子里是这样使用的:

from nose.tools import assert_raises

def add(x, y):
    return x + y

assert_raises(TypeError, add, 2, "0")
Run Code Online (Sandbox Code Playgroud)

我只是找不到nose2的等效使用示例,这些导入都不起作用(有人建议nose2更像是unittest而不是nose,它似乎使用assertRaises):

from nose2 import assert_raises
from nose2 import assertRaises
from nose2.tools import assert_raises
from nose2.tools import assertRaises
Run Code Online (Sandbox Code Playgroud)

搜索nose2文档网站时没有提到assert_raises或assertRaises

python nose nosetests python-2.7 python-3.x

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

在inkscape中嵌入字体

有没有人知道将字体嵌入到inkscape可读的svg文件中的当前状态。我发现缺少嵌入字体严重阻碍了 svg 文件的可移植性,尤其是在将文件发送给在其机器上没有管理员访问权限且无法安装字体的人时。

我尝试按照此链接中给出的说明进行操作:

如何:在 Linux Inkscape SVG 文档中嵌入字体

但一直无法让它工作,这个链接也表明这是可能的:

https://answers.launchpad.net/inkscape/+question/83618

我,公平地说,我试图让它在 Windows 上运行,而不是在 linux 上运行(我现在无法访问 linux 机器)。是否有人知道或有权访问此功能正在工作的实际 svg 文件?

fonts svg inkscape

4
推荐指数
2
解决办法
6298
查看次数

在Pelican静态网站中托管原始HTML页面

Pelican(Python)静态站点生成器中是否有一种方法只能传入原始HTML页面?目前,我正在尝试将google-site-verification HTML文件永久托管在根目录中.我在其他几次遇到过这个问题,与google网站验证无关.

在理想的世界中,我会将HTML文件放在content目录中,如文件rstmd文件,然后将其拾取并放入output目录中.这显然不起作用,因此我在这里.

html python pelican

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

检查对象数组中的多个属性匹配

我有一个对象数组(它们都是相同的对象类型),并且它们有多个属性,有没有办法返回一个较小的对象数组,其中所有属性都与测试用例、字符串匹配,无论该属性类型是什么。

python python-3.x

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