Tag: python

使用Python从HTML文件中提取文本

我想使用Python从HTML文件中提取文本。 如果我从浏览器复制文本并将其粘贴到记事本中,我基本上会得到相同的输出结果。 我想要比使用正则表达式更强大的东西,可能会失败,形成不良的HTML。 我见过很多人推荐美丽的汤,但是我使用它有一些问题。 首先,它收集不需要的文本,例如JavaScript源代码。 而且,它没有解释HTML实体。 例如,我希望“ 在HTML源文件中被转换为撇号,就像我把浏览器内容粘贴到记事本一样。 更新 html2text看起来很有希望。 它正确处理HTML实体并忽略JavaScript。 但是,它并不完全产生纯文本; 它会产生降价,然后不得不变成纯文本。 它没有任何示例或文档,但代码看起来很干净。 相关问题: 过滤掉HTML标签并在Python中解析实体 在Python中将XML / HTML实体转换为Unicode字符串

如何使用逗号作为千位分隔符来打印数字?

我想用逗号作为千位分隔符在Python 2.6.1中打印一个整数。 例如,我想显示数字1234567为1,234,567 。 我怎么去做这个? 我在Google上看过很多例子,但我正在寻找最简单的实用方法。 它不需要特定于语言环境来决定句点和逗号。 我宁愿一些尽可能简单的事情。

我怎样才能扭转在Python中的列表?

我怎么能在Python中做到这一点? array = [0,10,20,40] for (i = array.length() – 1 ;i >= 0; i–) 我需要有一个数组的元素,但从头到尾。

Django – 设置计划任务?

我一直在使用Django开发一个web应用程序,我很好奇是否有办法安排一个作业定期运行。 基本上我只是想通过数据库运行一些自动,定期的计算/更新,但我似乎无法找到任何文件这样做。 有谁知道如何设置? 澄清:我知道我可以设置一个cron工作来做到这一点,但我很好奇,如果Django中有一些功能提供这个功能。 我希望人们能够自己部署这个应用程序,而不必做很多配置(最好是零)。 我曾经考虑通过简单地检查自上一次请求发送到站点以来是否应该运行一个工作来触发这些“追溯”操作,但是我希望有一些更清洁的东西。

urllib,urllib2和请求模块之间有什么区别?

在Python中, urllib , urllib2和requests模块之间有什么区别? 为什么有三个? 他们似乎做同样的事情…

python和/或运算符返回值

我正在观看2007年的高级Python或了解Python视频 ,而在18'27“这位演讲者声称”正如有些人可能知道Python and and or返回两个值之一,而not返回总是一个布尔值。是这样吗? 据我所知,还有or返回布尔值。

Tkinter分配按钮命令与lambda循环

我试图创建几个按钮(与一个)像这样: def a(self, name): print name users = {"Test":"127.0.0.0", "Test2":"128.0.0.0"} row = 1 for name in users: user_button = Tkinter.Button(self.root, text=name, command=lambda: self.a(name)) user_button.grid(row = row, column = 0) row+=1 并为每个按钮获取自己的参数(测试获得测试和Test2得到Test2),但是当我按下按钮,他们都打印“测试2”,这意味着他们正在使用相同的参数相同的功能。 我该如何解决这个问题?

Numpy:x和y数组的笛卡尔积指向2D点的单个数组

我有两个numpy数组定义网格的x和y轴。 例如: x = numpy.array([1,2,3]) y = numpy.array([4,5]) 我想生成这些数组的笛卡尔积来生成: array([[1,4],[2,4],[3,4],[1,5],[2,5],[3,5]]) 在某种程度上,这是不是非常低效,因为我需要循环多次这样做。 我假设将它们转换为Python列表并使用itertools.product并返回到一个numpy数组不是最有效的形式。

UnicodeEncodeError:“charmap”编解码器无法编码 – 字符映射到<undefined>,打印功能

我正在编写一个Python(Python 3.3)程序,使用POST方法将一些数据发送到一个网页。 主要是为了调试过程,我得到页面结果并使用print()函数在屏幕上显示它。 代码是这样的: conn.request("POST", resource, params, headers) response = conn.getresponse() print(response.status, response.reason) data = response.read() print(data.decode('utf-8')); HTTPResponse .read()方法返回一个编码页面的bytes元素(这是一个格式良好的UTF-8文档)直到我停止使用Windows的IDLE GUI并改用Windows控制台,这似乎没有问题。 返回的页面有一个U + 2014字符(em-dash),它在Windows GUI(我假设代码页1252)中打印功能转换良好,但不在Windows控制台(代码页850)中转换。 鉴于strict默认行为,我得到以下错误: UnicodeEncodeError: 'charmap' codec can't encode character '\u2014' in position 10248: character maps to <undefined> 我可以用这个相当难看的代码修复它: print(data.decode('utf-8').encode('cp850','replace').decode('cp850')) 现在用一个?代替冒犯的角色“ – ” 。 不是理想的情况(连字符应该是一个更好的替代品),但足以达到我的目的。 从我的解决方案中,我不喜欢几件事情。 所有的解码,编码和解码代码都很难看。 它解决了这个问题。 如果我使用一些其他编码(拉丁-1,cp437,回到cp1252等)来移植一个系统的程序,它应该识别目标编码。 它不是。 (例如,当再次使用IDLE GUI时,emdash也会丢失,这在以前没有发生过) 如果这个模版翻译成连字符而不是盘问,会更好。 问题不在于emdash(我可以想到几种方法来解决特别的问题),但是我需要编写健壮的代码。 […]

如何计算列表中元素的频率?

我是一个蟒蛇新手,所以请忍受我。 我需要找到列表中元素的频率 a = [1,1,1,1,2,2,2,2,3,3,4,5,5] 输出 – > b = [4,4,2,1,2] 另外我想从一个删除重复 a = [1,2,3,4,5]