Tag: python

在pythonparsingHTML – lxml或BeautifulSoup? 哪种更适合哪种用途?

从我可以做出来的,Python中的两个主要的HTMLparsing库是lxml和BeautifulSoup。 我select了BeautifulSoup作为我正在开发的一个项目,但是除了find语法更容易学习和理解外,我没有特别的理由select它。 但是我看到很多人都赞成lxml,我听说lxml更快。 所以我想知道一个在另一个的优点是什么? 我什么时候想要使用lxml,何时使用BeautifulSoup会更好? 还有其他的图书馆值得考虑吗?

如何使python3 unicodestring

我用这个: u = unicode(text, 'utf-8') 但是得到错误与Python 3(或…也许我只是忘了包括一些东西): NameError: global name 'unicode' is not defined 谢谢。

奇怪的使用python的'和'运算符

我试图学习python,碰到一些代码很好但很短,但并不完全合理 背景是: def fn(*args): return len(args) and max(args)-min(args) 我得到它在做什么,但为什么python这样做 – 即返回值而不是真/假? 10 and 7-2 返回5。 这是合法/可靠的风格,还是有任何陷阱呢?

在Python中阻塞作用域

当你用其他语言编写代码时,你有时候会创build一个块范围,像这样: statement … statement { statement … statement } statement … statement 一个目的(很多)是为了提高代码的可读性:显示某些语句形成一个逻辑单元,或者某些局部variables只在该块中使用。 在Python中做同样的事情是否有一种惯用的方式?

如何将远程debugging器附加到Python进程?

我厌倦了插入 import pdb; pdb.set_trace() 换行到我的Python程序并通过控制台进行debugging。 如何连接远程debugging器并从文明用户界面插入断点?

在Python中表示graphics(数据结构)

在Python中如何巧妙地表示graphics ? (从头开始,即没有图书馆!) 什么数据结构(例如字典/元组/字典(元组))将是快速的,但也是有效的内存? 一个人必须能够对其进行各种图表操作 。 正如指出的那样,各种图表可能有所帮助。 如何在Python中实现它们? 至于图书馆, 这个问题有相当好的答案。

Python 2.x – 带* args和** kwargs的默认参数

在Python 2.x (我使用2.7),这是正确的方式来使用默认参数与*args和**kwargs ? 我发现了一个关于这个主题的问题,但这是Python 3 : 用* args,** kwargs和可选/默认参数调用Python函数 在那里,他们说这个方法的作品: def func(arg1, arg2, *args, opt_arg='def_val', **kwargs): #… 在2.7中,它导致了一个SyntaxError 。 有没有推荐的方法来定义这样的function? 我以这种方式工作,但我猜想有一个更好的解决scheme。 def func(arg1, arg2, *args, **kwargs): opt_arg ='def_val' if kwargs.__contains__('opt_arg'): opt_arg = kwargs['opt_arg'] #…

我怎样才能不使用主机环境的站点包文件夹使用pywin32与virtualenv?

我正在Python 2.6下使用PyInstaller ,由于MS已经使用了他们的清单nonense,现在影响Python,因为它现在是MSVC8编译,所以这只是部分支持。 问题是清单embedded支持依赖pywin32扩展为了构build这是一个痛苦,因为没有包括主机的site-packages文件夹,当我创buildvirtualenv (有点在构build环境中击败点)我找不到方法安装所需的扩展,以便PyInstaller可以访问它们。 有没有人find解决这个问题?

什么是一个Pythonstring的最大长度?

如果它与环境无关,那么Pythonstring中的字符数的理论最大值是多less? 另外,如果它与版本号不同,我想知道它的python 2.5.2

未检测到多处理池中引发的exception

看起来,当多处理.Pool进程发生exception时,没有堆栈跟踪或任何其他指示失败。 例: from multiprocessing import Pool def go(): print(1) raise Exception() print(2) p = Pool() p.apply_async(go) p.close() p.join() 打印1并停止静音。 有趣的是,引发一个BaseException反而起作用。 有什么办法使所有exception的行为与BaseException相同吗?