小编Len*_*bro的帖子

使用多个参数在Tornado HttpGet中传递一个参数

我想在Url中传递一个参数(更新我的URL包含的许多参数之一),如下所示:

httpGet.setURI(new URI(url/user?"nickname"="John") 
Run Code Online (Sandbox Code Playgroud)

Python中的ServerSide:

class GetInfo(BaseHandler):
  def Get(self):
        nickname = self.get_argument("nickname")
        gender = self.get_argument("gender")
        logging.info(nickname)
        logging.info(gender)

  application = tornado.web.Application([
  (r"/", MainHandler),
  (r"/user", GetInfo),
  ])
Run Code Online (Sandbox Code Playgroud)

服务器告诉我,我不能这样做,因为缺少参数"性别".我能怎么做?

谢谢

python android http-get tornado http-post

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

避免Python中的冗余

我最近开始使用Python 2.6 for Ubuntu Server admin,并且有两个关于冗余的小问题:

首先是进口:它们看起来都像

从类导入类

from class import Class
Run Code Online (Sandbox Code Playgroud)

第二件事是__init__方法:

__init__(self,arg1,...,argn):
    self.arg1 = arg1
    ...
    self.argn = argn
Run Code Online (Sandbox Code Playgroud)

有没有办法避免这些重复?

python import redundancy init

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

父子进程之间的通信

我试图创建一个具有一个或多个子进程的Python 3程序.

Parent进程生成子进程,然后继续自己的商业,然后我想发送一条消息给特定的子进程,捕获它并采取行动.

此外,子进程在等待消息时需要非锁定,它将运行一个自己的循环来保证服务器连接并将任何已接收的消息发送给父进程.

我目前正在寻找python中的多处理,线程,子进程模块,但一直无法找到任何解决方案.

我想要实现的是让程序的主要部分与用户交互,处理用户输入并向用户呈现信息.这将与来自不同服务器的子部件进行异步,从服务器回收消息并从用户向服务器发送正确的消息.然后,子进程将信息发送回主要部分,并将其提交给用户

我的问题是:

  1. 我是以错误的方式去做这件事
  2. 哪个模块最好用
    2.1如何设置它

python multithreading python-3.x

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

如何使用pyqgis在shape文件中添加功能?

我现在有一个形状文件,我想添加值来填充它的颜色

但现在我有一个问题

http://www.qgis.org/pyqgis-cookbook/vector.html#add-features

 feat = QgsFeature()
  feat.addAttribute(0,"hello")
  feat.setGeometry(QgsGeometry.fromPoint(QgsPoint(123,456)))
  (res, outFeats) = layer.dataProvider().addFeatures( [ feat ] )
Run Code Online (Sandbox Code Playgroud)

这是点的示例,现在我有多边形和折线

我想知道我是否有多边形如何添加功能到我用python选择的形状文件?

python qgis

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

如何在Plone中修改robots.txt?

我有一个我管理的Plone网站,我想在Disots of robots.txt中添加一些页面.

似乎Plone会自动生成robots.txt文件.我找不到任何方法来修改它.我还尝试将"robots.txt"文件添加到应用的根目录,但它说"robots.txt已保留"

有没有人知道如何用Plone(v3)修改它?

robots.txt plone plone-3.x

5
推荐指数
2
解决办法
2345
查看次数

为绝对初学者编程Python:第7章存储复杂数据

我正在学习"绝对初学者的Python编程"并且一直很开心.这本书是为Python 2.7编写的(我认为),但我一直在使用Python 3并翻译代码,这是一个有趣的挑战.

我最近遇到了一个问题,我不知道如何修复.在标记为"Pickling Data并将其写入文件"的部分中,您可以运行以下代码:

import cPickle, shelve
print "Pickling lists." variety = ["sweet", "hot", "dill"]
shape = ["whole", "spear", "chip"]
brand = ["Claussen", "Heinz", "Vlassic"]
pickle_file = open("pickles1.dat", "w")
cPickle.dump(variety, pickle_file)
cPickle.dump(shape, pickle_file)
cPickle.dump(brand, pickle_file)
pickle_file.close()
Run Code Online (Sandbox Code Playgroud)

我把它翻译成了这个(对于python 3)

import pickle, shelve
print ("Pickling lists.")
variety = ["sweet", "hot", "dill"]
shape = ["whole", "spear", "chip"]
brand = ["Classen", "Heinz", "Vlassic"]
pickle_file = open("pickles1.dat", "w")
pickle.dump(variety, pickle_file)
pickle.dump(shape, pickle_file)
pickle.dump(brand, pickle_file)
pickle_file.close()
Run Code Online (Sandbox Code Playgroud)

但是,我从IDLE得到这个错误/输出:

Pickling lists.
Traceback (most recent call last):
File …
Run Code Online (Sandbox Code Playgroud)

python-3.x

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

如何在Ubuntu 10.04上安装python 3的pycairo

我正在尝试安装pycairo 1.10.0以用于我的自定义构建python 3.1.然而,

sudo /flower/bin/easy_install-3.1 pycairo
Run Code Online (Sandbox Code Playgroud)

失败了

XXX@XXXX:/adventures$ sudo /flower/bin/easy_install-3.1 pycairo
install_dir /flower/lib/python3.1/site-packages/
Searching for pycairo
Reading http://pypi.python.org/simple/pycairo/
Reading http://cairographics.org/pycairo
Best match: pycairo 1.10.0
Downloading http://cairographics.org/releases/pycairo-1.10.0.tar.bz2
Processing pycairo-1.10.0.tar.bz2
error: Couldn't find a setup script in /tmp/easy_install-zeG9HB/pycairo-1.10.0.tar.bz2
Run Code Online (Sandbox Code Playgroud)

事实上,setup.py在上述下载中没有; 相反,INSTALL说:

Install Procedure
-----------------
$ ./waf --help     # shows available waf options
$ ./waf configure  # use --prefix and --libdir if necessary
                   # --prefix=/usr --libdir=/usr/lib64  for Fedora 64-bit
$ ./waf build
$ ./waf install

Use
$ python3 ./waf ... …
Run Code Online (Sandbox Code Playgroud)

python cairo pycairo ubuntu-10.04 python-3.x

5
推荐指数
2
解决办法
5837
查看次数

SWIG和Python3导入错误

我用C编写了一个库.我使用SWIG为Java,Python等生成绑定.我设法为两种语言编写自定义类型映射等等.我还设法使用我的库(一个自定义协议)并与我在C中编写的服务器进行通信,使用我用Java编写的客户端,以及我用Python编写的客户端.

最近,我遇到了一个多重继承问题,我找到了一个聪明的解决方案.但是,当尝试使用Python 3复制错误时,错误消失了(可能在版本3中解决了).事实是,相同的代码,相同的项目和相同的源将不会运行调用python3二进制文件,但它可以调用python2.7二进制文件.

我收到消息:

ImportError: dynamic module does not define init function (PyInit__pytellapic)
Run Code Online (Sandbox Code Playgroud)

我已经阅读了SWIG文档可能意味着什么,但错误略有不同:

import example
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: dynamic module does not define init function (init_example)
Run Code Online (Sandbox Code Playgroud)

说:

当为共享对象文件指定错误名称时,几乎总是会导致此错误.例如,如果您创建了一个文件example.so而不是_example.so,则会出现此错误.或者,如果模块的名称与%module指令提供的模块名称不一致,则可能会出现此错误.仔细检查接口以确保模块名称和共享对象文件名匹配.导致此错误的另一个可能原因是在创建扩展模块时忘记将SWIG生成的包装器代码与应用程序的其余部分链接起来.

老实说,我认为这个可能的原因不适用于我的模块,因为它应该是2.7和3版python的错误,而不仅仅是Python 3.

我很感激任何建议,但考虑到SWIG似乎是一个过时的项目,我可能会继续使用Python 2.7与提到的"黑客".

最好的祝福,

python swig python-3.x

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

使用compile函数时的UnicodeEncodeError

在Windows 7中使用python 3.2我在IDLE中得到以下内容:

>>compile('pass', r'c:\temp\??\module1.py', 'exec')
UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么编译语句尝试使用mbcs转换unicode文件名?我知道sys.getfilesystemencoding在Windows中返回'mbcs',但我认为在提供unicode文件名时不会使用它.

例如:

f = open(r'c:\temp\??\module1.py') 
Run Code Online (Sandbox Code Playgroud)

作品.

要进行更完整的测试,请在utf8编码文件中保存以下内容,并使用标准python.exe 3.2版运行它

# -*- coding: utf8 -*-
fname = r'c:\temp\??\module1.py'
# I do have the a file named fname but you can comment out the following two lines
f = open(fname)
print('ok')
cmp = compile('pass', fname, 'exec')
print(cmp)
Run Code Online (Sandbox Code Playgroud)

输出:

ok
Traceback (most recent call last):
  File "module8.py", line 6, in <module>
    cmp = compile('pass', fname, 'exec')
UnicodeEncodeError: …
Run Code Online (Sandbox Code Playgroud)

python windows unicode python-3.x

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

Python:旧式(或经典)和新式对象的方法解析顺序

我已经阅读了很多关于Python文档中的对象的内容,它们在某些方面区分了这两个:

  • 旧式实例独立于其类,使用单个内置类型(称为实例)实现.
  • 新式类既不是用户定义的类型,也不是用户定义的类型.

任何人都可以向我解释这个"旧式(或经典)和新式".

我无法弄清楚这条线试图说的是什么:

"对于新式类,方法解析顺序动态变化以支持对super()的协作调用".

python oop class object

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