我正在使用python-future一段时间,直到分析显示我的程序的5000万次实例化使我的程序的newint
运行时间增加了10倍.我在Python 3中运行正常,但是试图使它与2和3兼容是非常需要的,因为我在我的组织中独自作为唯一的Py3推动器.
future
有一些很好的文档说要扔
from __future__ import (absolute_import, division,
print_function, unicode_literals)
from future.builtins import *
Run Code Online (Sandbox Code Playgroud)
在我的所有源文件中作为样板文件然后在标准3中编写代码.但是,因为它似乎有点重,所以当解析大量文本文件时,这是一个拖累.
six
似乎更轻量级,但使用它的常用方法是什么?文档有点扁平,易于掩盖...我目前有类似的东西:
from __future__ import (
absolute_import, division, print_function, unicode_literals)
import six
from six.moves import (zip, filter, map, range, reduce, input)
Run Code Online (Sandbox Code Playgroud)
然而,有一些关于在属性访问上延迟加载模块的事情; 我可以说from six.moves import *
,或者它实际上会加载所有的HTTP,Tkinter等爵士乐吗?用于开发Py2 + 3代码的"最佳实践"是six
什么?
我正在尝试使用方便的启动器部署我的GAE应用程序,但由于我的帐户使用双因素身份验证,因此有点困难:
Password for <me>@gmail.com: Use an application-specific password
instead of your regular account password.
See http://www.google.com/support/accounts/bin/answer.py?answer=185833
However, now the recommended way to log in is using OAuth2. See
https://developers.google.com/appengine/docs/python/tools/uploadinganapp#oauth
Run Code Online (Sandbox Code Playgroud)
在上面的网页上,我被指示简单地将--oauth2
选项放入appcfg.py
:
appcfg.py --oauth2 update myapp/
Run Code Online (Sandbox Code Playgroud)
如果我在命令行,它会很简单,但如果我使用GAE启动器,我如何使用OAuth2?我看到添加命令行选项的唯一地方是在本地运行应用程序,而不是部署.
我有一个异步应用程序,它通过aiohttp提供请求并执行其他异步任务(与数据库交互,处理消息,将请求本身作为HTTP客户端).我想监视事件循环的繁忙程度,也就是说它花费了多少时间来执行代码而不是等待select
完成.
有没有办法用标准库事件循环或其他第三方循环(uvloop)来衡量这个?
具体来说,我想要一个持续的百分比衡量饱和度,而不仅仅是这个问题似乎要解决的二元"忙碌" .
我正在尝试从日志记录程序中反向设计文件格式.它似乎使用1-2字节字段,可用于标签颜色,因为它似乎是唯一没有解释的东西.没有迭代其他标签颜色并生成新的输出文件(这是一个痛苦的屁股,因此我试图首先对格式进行逆向工程),是否有任何标准的8位调色板,他们可能会排队?我找到了一些(例如网上允许的仅有216种颜色),但它们没有以任何特定方式枚举.
我相信0x32
是浅绿色(如0,255,0),0x0A
是蓝绿色 的青色(0,255,255),并且0x28
是红色的.每个字段还可以包括尾随0x00
.
或者我可能完全错了.
我有一个Python 3.x程序,它处理几个包含大量数据的大型文本文件,这些文件偶尔可以刷掉我的微不足道工作站的内存限制.从一些基本的内存分析来看,似乎在使用生成器时,我的脚本的内存使用量可以保存连续的元素,使用的内存量是我预期的两倍.
我做了一个简单的,独立的例子来测试生成器,我在Python 2.7,3.3和3.4中得到了类似的结果.我的测试代码如下,memory_usage()
是一个SO函数的修改版本,在我看的时候使用/proc/self/status
和同意top
. resource
可能是一个更跨平台的方法:
import sys, resource, gc, time
def biggen():
sizes = 1, 1, 10, 1, 1, 10, 10, 1, 1, 10, 10, 20, 1, 1, 20, 20, 1, 1
for size in sizes:
data = [1] * int(size * 1e6)
#time.sleep(1)
yield data
def consumer():
for data in biggen():
rusage = resource.getrusage(resource.RUSAGE_SELF)
peak_mb = rusage.ru_maxrss/1024.0
print('Peak: {0:6.1f} MB, Data Len: {1:6.1f} M'.format(
peak_mb, len(data)/1e6))
#print(memory_usage()) #
data = …
Run Code Online (Sandbox Code Playgroud) 我已将Excel工作表导入到pandas中.它有7列是数字,1列是字符串(标志).
将标志转换为分类变量后,我试图从Pandas数据帧中删除字符串列.但是,我无法做到.
这是代码:
[In] parts_median_temp.columns
[Out] Index([u'PART_NBR', u'PRT_QTY', u'PRT_DOL', u'BTS_QTY', u'BTS_DOL', u'Median', u'Upper_Limit', u'Flag_median'], dtype='object')
Run Code Online (Sandbox Code Playgroud)
我想要删除的列是'Flag_median'.
[In] parts_median_temp.drop('Flag_median')
[Out] ...ValueError: labels ['Flag_median'] not contained in axis
Run Code Online (Sandbox Code Playgroud)
帮我Flag_median
从Pandas数据框中删除该列.
是否有一些svn
或svnadmin
命令会显示本地仓库的修订版?我希望能够拥有一个Windows批处理或PowerShell脚本,它可以让我压缩回购并使用rev to email命名它.
我能弄清楚的最好的办法就是找到最[reporoot]\db\revs\0
高档,但它看起来很笨重,我不知道它是否可靠.
按照这里给出的步骤,我已经完成了安装过程,但Python(IDLE)给了我一个ImportError.指南建议:
Python可能会向您返回一个错误,如"
No module named cv
"麻烦就是安装了python模块/usr/local/lib/python2.6/site-packages
.但是,在Debian和Ubuntu上,Python只会查看/usr/local/lib/python2.6/dist-packages
您可以使用三种方式修复它(仅使用其中一种,第一种是最好的):
将
cv.so
文件从以下位置移动site-packages
到dist-packages
:
sudo mv /usr/local/lib/python2.6/site-packages/cv.so /usr/local/lib/python2.6/dist-packages/cv.so
但是,2.7和3.2的站点包和dist-packages都是空的.
出了什么问题,我该如何解决?
对于一些快速的Python调试,我偶尔会抛出import pdb;pdb.set_trace()
一行会让我进入调试器.非常便利.但是,如果我想调试一个可能运行很多次的循环,它会在一定程度上失去它的效果.我可以在c
很多很多次上进行混合,但有没有办法删除/忽略那个硬编码的断点,这样我就可以完成它了?
我可以设置一个全局标志并有条件地运行它,但是我会丢失单行断点的'standalone-ness',也需要另一个标志pdb.set_trace()
.
我正在使用rST/Sphinx来记录我的Python,但是当构建它时会抛出警告,例如
...Code/doc/code.rst:3: SEVERE: Duplicate ID: "module-toast".
Run Code Online (Sandbox Code Playgroud)
我的Python源文件记录如下:
#!/usr/bin/env python
'''
.. module:: toast
:synopsis: Processes the blobs produced by :mod:`bread`.
'''
# my inline-rST documented code...
Run Code Online (Sandbox Code Playgroud)
并且rST文件使用autodoc提供的automodule
指令来拉出所有文档字符串并记录所有成员.
Toast
--------------------------------
.. automodule:: toast
:members:
Run Code Online (Sandbox Code Playgroud)
上面的组合似乎工作正常,但错误似乎意味着有一个正确的方法来做到这一点.如果我从源文件的顶部删除模块指令,则错误消失,但是我无法在Sphinx拾取的源中添加一个概要选项.
python ×6
python-3.x ×2
batch-file ×1
binaryfiles ×1
colors ×1
installation ×1
linux ×1
opencv ×1
pandas ×1
pdb ×1
powershell ×1
python-3.2 ×1
six-python ×1
svn ×1