小编use*_*351的帖子

UTF-8百分比编码和python

我试图让python给我百分比编码的字符串.我正在与之交互的API(我认为使用百分比编码的UTF-8)给出了%c3%ae.但是,python的urllib.quote给出%3F.

import urllib

mystring = "î"
print urllib.quote(mystring)
print urllib.quote_plus(mystring)
print urllib.quote(mystring.encode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

python utf-8 url-encoding

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

Google App Engine:流量监控

监控Google App Engine托管网站的网站流量的最佳方法是什么?

在每个页面处理程序中放入一些代码来记录每个页面请求到数据存储区是相当简单的,现在(感谢stackoverflow)我有代码来记录引用站点.

还有一个关于使用数据存储区记录流量的问题,但它没有考虑其他选项(如果有的话).

我担心的是数据存储区很昂贵.还有另外一种方法吗?人们通常会实施流量监控,还是我过度热心?

如果我通过数据存储实现流量监控,建议捕获哪些字段?什么是好的和/或常见的做法?

我会选择:时间戳; 页; 引用者; IP地址; 用户名(如果已登录).还有其他建议吗?

python google-app-engine

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

为什么Python将此UTF-8字符识别为两个字符而不是一个字符

我正在尝试处理的一些UTF-8文本有这个可爱的4字节字符:\ xF0\x9F\x98\xA5

根据这个网站,它是"失望但放心的脸":http://apps.timwhitlock.info/emoji/tables/unicode

在我看来,Python将其视为两个独立的角色.

这是我的测试代码:

mystring = '\xF0\x9F\x98\xA5'.decode('utf-8')

print len(mystring)

print mystring

print len(mystring.encode('utf-8'))

for c in mystring:
    print c
Run Code Online (Sandbox Code Playgroud)

当我打印mystring时,我得到一张可爱的脸.但是当我打印出mystring的长度时,我得到2.

顺便说一句,我试图解决这个问题的原因是我需要在字符串中处理4个字节的字符,这样我就可以推送到5.5之前的MySQL数据库(它只能处理3个字节的UTF-8).

我很感激为什么Python似乎将其识别为两个字符,以及如何检测UTF-8字符串中的4字节字符.

谢谢.

python unicode utf-8

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

在python中使用参数动态设置回调

我试图从列表形式存储的一组数据动态构建tkinter中的一些按钮.我无法解决的问题是如何在回调函数中添加一个参数.由于回调中的代码直到回调时才执行,因此回调中使用的变量此时已更改了值.

这是代码的(非常)简化版本:

from Tkinter import *
from ttk import *

mylist = ['a','b','c','d','e']


class App:

    def __init__(self, master):

        self.frame = Frame(master)
        self.frame.pack()

        for i in range (0,len(mylist)):
            setattr(self, 'button' + str(i), Button(self.frame, text=mylist[i], command= lambda: self.buttoncall(i)))
            getattr(self, 'button' + str(i)).pack(side=LEFT)

    def buttoncall(self,input):
        print mylist[input]

root = Tk()

app = App(root)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python

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

为什么更改字符串的字符不能提供所需的字符?

我正在尝试使用字符文字初始化后编辑字符串,如下所示:

int main() {
    char str1[10] = "hello";
    str1[0] = "b";
    printf("%s\n", str1);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果是"dello",即"d"而不是"b".同样,下面只是废话.

int main() {

    char str1[10];

    str1[0] = "h";
    str1[1] = "e";
    str1[2] = "l";
    str1[3] = "l";
    str1[4] = "o";

    printf("%s\n", str1);
}
Run Code Online (Sandbox Code Playgroud)

我发现一个StackOverflow 帖子提到这应该导致段错误或访问冲突错误,但它并没有真正解释原因.

c

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

标签 统计

python ×4

utf-8 ×2

c ×1

google-app-engine ×1

unicode ×1

url-encoding ×1