Tag: python

从相对path导入模块

如何根据相对path导入Python模块? 例如,如果dirFoo包含Foo.py和dirBar ,并且dirBar包含Bar.py ,那么如何将Bar.py导入到Foo.py ? 这是一个视觉表示: dirFoo\ Foo.py dirBar\ Bar.py Foo希望包含Bar ,但重构文件夹层次结构不是一种select。

为什么人们在Python脚本的第一行编写#!/ usr / bin / env python?

在我看来,这些文件运行相同,没有这一行。

在Pythonstring中解码HTML实体?

我正在使用Beautiful Soup 3parsing一些HTML,但是它包含了一个Beautiful Soup 3不会自动为我解码的HTML实体: >>> from BeautifulSoup import BeautifulSoup >>> soup = BeautifulSoup("<p>&pound;682m</p>") >>> text = soup.find("p").string >>> print text &pound;682m 我如何解码text的HTML实体来获得"£682m"而不是"&pound;682m" 。

在函数调用超时

我正在调用Python中的一个函数,我知道这个函数可能会停顿并迫使我重新启动脚本。 我该如何调用函数,或者如何包装它,如果这个过程需要5秒以上的时间,那么脚本将会取消它并执行其他操作?

Python中的dynamic模块导入

我正在编写一个Python应用程序,作为一个参数作为命令,例如: $ python myapp.py command1 我希望应用程序是可扩展的,也就是说,能够添加实现新命令的新模块,而不必更改主应用程序源。 树看起来像这样: myapp/ __init__.py commands/ __init__.py command1.py command2.py foo.py bar.py 所以我希望应用程序在运行时find可用的命令模块并执行相应的命令模块。 目前,这是实施像这样的: command = sys.argv[1] try: command_module = __import__("myapp.commands.%s" % command, fromlist=["myapp.commands"]) except ImportError: # Display error message command_module.run() 这工作得很好,我只是想知道是否有一个更习惯的方式来完成我们正在做的这个代码。 请注意,我特别不想使用鸡蛋或扩展点。 这不是一个开源项目,我不希望有“插件”。 重点在于简化主应用程序代码,并在每次添加新的命令模块时删除需要修改的代码。

限制浮点数到两个小数点

我想要a四舍五入到13.95 。 >>> a 13.949999999999999 >>> round(a, 2) 13.949999999999999 round函数不能按照我的预期工作。

为什么全局variables是邪恶的?

我试图find一个很好的来源,解释了为什么使用global被认为是不好的做法在Python(和一般编程)。 有人可以指我一个或在这里解释?

如何获得列表元素的所有可能的组合?

我有一个包含15个数字的列表,我需要编写一些代码来生成这些数字的所有32,768个组合。 我发现了一些代码 (通过谷歌search),显然做我在找什么,但我发现代码相当不透明,并谨慎使用它。 另外我有一种感觉,必须有一个更优雅的解决scheme。 唯一发生在我身上的将是循环通过十进制整数1-32768并将其转换为二进制,并使用二进制表示作为筛选器来挑选出适当的数字。 有谁知道更好的方法? 使用map() ,也许?

在颜色的terminal打印?

如何在Python中输出彩色文本到terminal? 什么是代表固体块的最好的Unicode符号?

为什么list.append评估为false?

是否有一个原因是list.append评估为false? 还是仅仅是成功时返回0的C约定呢? >>> u = [] >>> not u.append(6) True