小编iTa*_*ayb的帖子

如何使用httplib发布unicode字符?

我尝试使用以下httplib.request函数发布unicode数据:

s = u"?????"
data = """
<spellrequest textalreadyclipped="0" ignoredups="1" ignoredigits="1" ignoreallcaps="0">
<text>%s</text>
</spellrequest>
""" % s

con = httplib.HTTPSConnection("www.google.com")
con.request("POST", "/tbproxy/spell?lang=he", data)
response = con.getresponse().read()
Run Code Online (Sandbox Code Playgroud)

但是这是我的错误:

Traceback (most recent call last):
  File "C:\Scripts\iQuality\test.py", line 47, in <module>
    print spellFix(u"?á???¿??????")
  File "C:\Scripts\iQuality\test.py", line 26, in spellFix
    con.request("POST", "/tbproxy/spell?lang=%s" % lang, data)
  File "C:\Python27\lib\httplib.py", line 955, in request
    self._send_request(method, url, body, headers)
  File "C:\Python27\lib\httplib.py", line 989, in _send_request
    self.endheaders(body)
  File "C:\Python27\lib\httplib.py", line 951, in endheaders
    self._send_output(message_body)
  File "C:\Python27\lib\httplib.py", line …
Run Code Online (Sandbox Code Playgroud)

python unicode httplib

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

创建一个常用的功能模块

我有一个包含几十个不同模块的大项目.我确实有很多常用的功能,我在项目的很多地方都使用过.例如:

  • 检查字符串是否包含希伯来字符
  • 生成随机的8个字母的字符串
  • 猜测二进制数据的图像mime类型
  • 转换HTML权利
  • 等等...

我的问题是:

  • 将所有这些函数放在将从每个代码文件加载的特定模块中是否常规?
  • 这个模块应该有什么名字?common.py
  • 我的代码被分成不同的.通常将文件放在根代码文件夹中,并加载一个超出包范围的文件?

python code-design

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

在python中获取函数调用者的信息

我想获得有关python中特定函数的调用者的信息.例如:

class SomeClass():
    def __init__(self, x):
        self.x = x
    def caller(self):
        return special_func(self.x)

def special_func(x):
    print "My caller is the 'caller' function in an 'SomeClass' class."
Run Code Online (Sandbox Code Playgroud)

有可能与python?

python callstack introspection

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

在代码中实现可选的记录器

我想在函数中实现一个可选的记录器.就像是:

def foo(arg1, arg2, arg3, logger=None):
    logger = logger or (lambda *x: None)

    ...
    self.logger.debug("The connection is lost.")
Run Code Online (Sandbox Code Playgroud)

我想在记录器存在的情况下进行日志记录.否则,记录器的调试将不起作用.

基本上,实现它的简单方法是将每个调试语句嵌套在一个if logger块中,但是当有许多调试语句时它似乎很乱.

python logging

8
推荐指数
2
解决办法
3241
查看次数

Cython 为应评估为 0.5 的表达式返回 0?

出于某种原因,Cython 在计算结果为 0.5 的数学表达式上返回 0:

print(2 ** (-1))  # prints 0
Run Code Online (Sandbox Code Playgroud)

奇怪的是,混合变量,它会按预期工作:

i = 1
print(2 ** (-i))  # prints 0.5
Run Code Online (Sandbox Code Playgroud)

对于这两种情况,Vanilla CPython 都返回 0.5。我正在编译37m-x86_64-linux-gnu,并language_level设置为3

这是什么巫术?

python cython python-3.x

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

如何在PHP的echo函数中使用引号?

如何在PHP的echo函数中使用引号?

echo "<script type="text/javascript">";
Run Code Online (Sandbox Code Playgroud)

不好用.

谢谢!

php echo

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

在进程之间共享变量

我有一个下载器功能,可以并行下载多个文件.我用multiprocessing.Pool.map_async它来下载同一文件的不同块.我想显示下载的状态栏.为此,我需要知道已经下载的总字节数(total_bytes_dl).

    pool = multiprocessing.Pool(processes)
    mapObj = pool.map_async(f, args)

    while not mapObj.ready():
        status = r"%.2f MB / %.2f MB" % (total_bytes_dl / 1024.0 / 1024.0, filesize / 1024.0 / 1024.0,)
        status = status + chr(8)*(len(status)+1)
        print status,
        time.sleep(0.5)
Run Code Online (Sandbox Code Playgroud)

有没有办法设置一个将在所有这些进程和主进程之间共享的变量,因此每个进程都可以附加刚刚下载的字节数量?

python ctypes map multiprocessing

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

subprocess.Popen使用unicode路径

我有一个我想打开的unicode文件名.以下代码:

cmd = u'cmd /c "C:\\Pok\xe9mon.mp3"'
cmd = cmd.encode('utf-8')
subprocess.Popen(cmd)
Run Code Online (Sandbox Code Playgroud)

回报

>>> 'C:\Pok?mon.mp3' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

即使该文件确实存在.为什么会这样?

python windows unicode command-line subprocess

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

如何重定向保留原始引荐来源字段?

我有以下PHP重定向脚本:

if ($country=="IL") { header('Location: http://iquality.itayb.net/index-he.html'); }
else { header('Location: http://iquality.itayb.net/index-en.html'); }
Run Code Online (Sandbox Code Playgroud)

根据$country价值,这会将用户重定向到不同的页面.引荐者成为重定向页面本身.

如何保留原始引荐来源字段?

php redirect url-redirection

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

如何在PHP中33%的时间随机执行代码?

我不太清楚如何写这个:我想生成一个从0到2的随机数,然后编写一个if只有33%的时间执行特定代码的语句.

这就是我试图做的事情:

if (rand(0, 3)=="2") { echo "Success" };
Run Code Online (Sandbox Code Playgroud)

php random

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