拿这个代码:
>>> import urlparse
>>> parts = urlparse.urlparse('http://docs.python.org/library/')
>>> parts = parts._replace(path='/3.0'+parts.path)
Run Code Online (Sandbox Code Playgroud)
parts._replace works
但由于它是一个强调的方法,它应该是内部的,而不是使用.还有其他选择吗?我不想这样做:
>>> parts = parts[:2] + ('/3.0'+parts.path,) + parts[3:]
Run Code Online (Sandbox Code Playgroud)
因为这使它成为一个普通的元组,而不是一个命名元组,并且做:
>>> parts = namedtuple(scheme=parts.scheme, netloc=parts.netloc, etc etc)
Run Code Online (Sandbox Code Playgroud)
有点愚蠢.:)
想法?
我想根据纬度和经度从Google地球获取高程数据,但我无法做到这一点.我不确定我做错了什么,但我的代码如下所示.
def getElevation(locations,sensor="true", **elvtn_args):
elvtn_args.update({
'locations': locations,
'sensor': sensor
})
url = ELEVATION_BASE_URL
params = urllib.parse.urlencode(elvtn_args)
baseurl = url +"?"+ params;
req = urllib.request.urlopen(str(baseurl));
response = simplejson.load(req);
Run Code Online (Sandbox Code Playgroud)
而我得到的错误是:
Traceback (most recent call last):
File "D:\GIS\Arctools\ElevationChart - Copy.py", line 85, in <module>
getElevation(pathStr)
File "D:\GIS\Arctools\ElevationChart - Copy.py", line 45, in getElevation
response = simplejson.load(req);
File "C:\Python32\lib\json\__init__.py", line 262, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "C:\Python32\lib\json\__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "C:\Python32\lib\json\decoder.py", line 351, in decode
obj, end = self.raw_decode(s, …
Run Code Online (Sandbox Code Playgroud) 我正在运营一个可以向其他人发送邀请的网站,我遇到了一个问题,即从我的网站发送的电子邮件都被归类为主要电子邮件服务提供商中的垃圾邮件,我只是想知道如何尽可能地避免这种情况.
基本上我现在在做什么:
1)用户输入朋友的电子邮件
2)我使用python发送电子邮件,电子邮件很简单 - 纯文本,只是一行文字告诉别人你的朋友邀请你,并且网站为他创建了一个帐户,密码为**
3)电子邮件的"发件人"是发送邀请的用户(我想知道这是否有助于垃圾邮件?),而不是我网站的电子邮件.
谢谢.箱子
我有一个用cython编写的库,它包装了一个C库,我将一些c字符串暴露给python代码.这些字符串很大,而且是静态的(不能释放它们)所以只是从它们那里制作一个python字符串(这就是副本)不是一个选项 - 我得到了OOM错误.
我有代码工作python 2.x目前使用旧的缓冲API,看起来或多或少像:
def get_foo():
return PyBuffer_FromMemory(c_foo_ptr,c_foo_len)
Run Code Online (Sandbox Code Playgroud)
这对于python 2.x来说是有效的(tm),但是旧的缓冲API在3.x中消失了,我无法弄清楚如何使用新的缓冲API.
我看到PyMemoryView_FromBuffer和PyBuffer_FillInfo结合起来应该做同样的事情,但PyBuffer_FillInfo想要一个对我来说不存在的对象(它只是一个模块级函数),制作一个虚拟对象并传递它只是给了我一个段错误,所以我想这个对象应该以某种方式支持缓冲区......但它的文档记录在哪里?
进一步尝试使用内存视图,它们根本不会看起来或充当字符串(或字节),因此我必须重写所有的python代码或以某种方式重新创建该功能.
我错过了什么吗?有没有一种简单的方法来替换py3k中的PyBuffer_FromMemory?
注意:我正在使用cython,但这是原始c-api的东西,所以你可以在不涉及cython的情况下回答它.
名为== a.py ==的测试文件
import os
if __name__ == '__main__':
for x in range(0,1000):
try:
os.sys.stdout.buffer.write(b"hello\r\n")
os.sys.stdout.buffer.flush()
except OSError:
pass
Run Code Online (Sandbox Code Playgroud)
它独自运行时没关系.但以下情况有问题:
然后我在<_io.TextIOWrapper name =''mode ='w'coding ='cp936'>忽略了Exception OSError:OSError(22,'Invalid argument')
我已经在os.sys.stdout.buffer操作中捕获了OSError,但它仍然出错.
如果我不使用os.sys.stdout.buffer.flush,那么没有错误消息.如果我只使用print(),一切都OK.
那么如何正确地将字节写入stdout呢?
我使用的是Windows 7 64位和Python 3.3.0 32位.
我在try和except语句中遇到一些问题,我有一个条目小部件,它接受字符串输入,但我有代码,后来将它转换为整数,问题是如果用户输入类似文本的东西,它会抛出这样的错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.2/tkinter/__init__.py", line 1402, in __call__
return self.func(*args)
File "/home/ppppwn3d/workspace/Python/JailBreakBob/JailBreakBob.py", line 157, in buttonclick_gamescreen
entryx = int(e1.get())
ValueError: invalid literal for int() with base 10: 'abc'
Run Code Online (Sandbox Code Playgroud)
所以我想用try和except语句隐藏错误但我现在得到另一条错误消息.
这就是它在代码中的样子.
while pressed == 8 :
try:
entryx = int(e1.get())
entryy = int(e2.get())
except ValueError:
print("text")
answerx = answerlistx[randomimage]
answery = answerlisty[randomimage]
if entryx == answerx and entryy == answery
canvas.delete(images)
randomimage = random.randrange(0,49+1)
scorecounter = scorecounter + 1
game = PhotoImage(file=imagelist[randomimage])
images …
Run Code Online (Sandbox Code Playgroud) 我想在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 3程序.
Parent进程生成子进程,然后继续自己的商业,然后我想发送一条消息给特定的子进程,捕获它并采取行动.
此外,子进程在等待消息时需要非锁定,它将运行一个自己的循环来保证服务器连接并将任何已接收的消息发送给父进程.
我目前正在寻找python中的多处理,线程,子进程模块,但一直无法找到任何解决方案.
我想要实现的是让程序的主要部分与用户交互,处理用户输入并向用户呈现信息.这将与来自不同服务器的子部件进行异步,从服务器回收消息并从用户向服务器发送正确的消息.然后,子进程将信息发送回主要部分,并将其提交给用户
我的问题是:
我正在浏览 Django 教程:https://docs.djangoproject.com/en/dev/intro/tutorial01/
我正在查看将 python shell 与 manage.py 一起使用的示例。代码片段是从网站复制的:
# Give the Poll a couple of Choices. The create call constructs a new
# Choice object, does the INSERT statement, adds the choice to the set
# of available choices and returns the new Choice object. Django creates
# a set to hold the "other side" of a ForeignKey relation
# (e.g. a poll's choices) which can be accessed via the API.
>>> p = Poll.objects.get(pk=1)
# Display any …
Run Code Online (Sandbox Code Playgroud) 我现在有一个形状文件,我想添加值来填充它的颜色
但现在我有一个问题
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 ×9
python-3.x ×4
android ×1
api ×1
django ×1
email ×1
google-api ×1
google-earth ×1
http-get ×1
http-post ×1
namedtuple ×1
qgis ×1
spam ×1
tornado ×1
try-catch ×1