小编Al *_*art的帖子

正则表达式使用Python从HTML中的href属性中提取URL

可能重复:
检查字符串是否为有效URL的最佳正则表达式是什么?

考虑如下字符串:

string = "<p>Hello World</p><a href="http://example.com">More Examples</a><a href="http://example2.com">Even More Examples</a>"
Run Code Online (Sandbox Code Playgroud)

我怎么能用Python在锚标记的href中提取网址?就像是:

>>> url = getURLs(string)
>>> url
['http://example.com', 'http://example2.com']
Run Code Online (Sandbox Code Playgroud)

谢谢!

python regex url

79
推荐指数
2
解决办法
14万
查看次数

Selenium webdriver:如何找到所有元素的属性?

在Python Selenium模块中,一旦我有了一个WebElement对象,我就可以获得它的任何属性的值get_attribute():

foo = elem.get_attribute('href')
Run Code Online (Sandbox Code Playgroud)

如果名为'href'不存在的属性,None则返回.

我的问题是,如何获得元素具有的所有属性的列表?似乎没有get_attributes()get_attribute_names()方法.

我正在使用Selenium模块的2.44.0版本用于Python.

python selenium selenium-webdriver

36
推荐指数
4
解决办法
4万
查看次数

Python:获取异常的错误消息

在python 2.6.6中,我如何捕获异常的错误消息.

IE:

response_dict = {} # contains info to response under a django view.
try:
    plan.save()
    response_dict.update({'plan_id': plan.id})
except IntegrityError, e: #contains my own custom exception raising with custom messages.
    response_dict.update({'error': e})
return HttpResponse(json.dumps(response_dict), mimetype="application/json")
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.我明白了:

IntegrityError('Conflicts are not allowed.',) is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

python django exception-handling

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

有序树遍历

我之前的一篇学术课程中有以下关于二阶(不是BST)的有序遍历(它们也称之为pancaking)的文本:

有序树遍历

在树的外面画一条线.从根的左侧开始,绕过树的外部,最后到根的右侧.尽可能靠近树,但不要越过树.(想想树 - 它的分支和节点 - 作为一个坚实的障碍.)节点的顺序是这条线在它们下面经过的顺序.如果您不确定何时"在节点下面",请记住"左侧"节点始终位于第一位.

这是使用的示例(从下面略微不同的树)

树1

但是,当我在谷歌搜索时,我得到一个相互矛盾的定义.例如维基百科的例子:

树的定义

顺序遍历序列:A,B,C,D,E,F,G,H,I(左子节点,根节点,右节点)

但根据(我的理解)定义#1,这应该是

A,B,D,C,E,F,G,I,H

任何人都可以澄清哪个定义是正确的?它们可能都描述了不同的遍历方法,但碰巧使用相同的名称.我很难相信同行评审的学术文本是错误的,但不能确定.

binary-tree tree-traversal data-structures

21
推荐指数
2
解决办法
6万
查看次数

为什么版本号不能固定在Pipfile中?

我正在考虑使用pipenv并在这里的文档中
https://pipenv.readthedocs.io/en/latest/basics.html#importing-from-requirements-txt

它说(强调我的)

请注意,在导入需求文件时,它们通常会固定版本号,这可能是您不想要的

为什么是这样?

据我所知,Pipfile.lock文件将存储我安装的依赖项的特定版本和哈希,但我不希望能够看到Pipfile中安装的特定版本?(当我使用requirements.txt时,我的方式相同?)

python pip pipenv

17
推荐指数
2
解决办法
6225
查看次数

为什么使用Bootstrap的.w-100类将行的列分成两行,当你只能创建两行时?

https://v4-alpha.getbootstrap.com/layout/grid/#equal-width-multi-row的Bootstrap文档中的这个页面上,他们给出了这个例子:

<div class="row">
  <div class="col">col</div>
  <div class="col">col</div>
  <div class="w-100"></div>
  <div class="col">col</div>
  <div class="col">col</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这将创建两行,每行包含两个大小相等的列.但是,您只需创建两行即可实现此目的:

<div class="row">
  <div class="col">col</div>
  <div class="col">col</div>
</div>
<div class="row">
  <div class="col">col</div>
  <div class="col">col</div>
</div>
Run Code Online (Sandbox Code Playgroud)

使用.w-100CSS类和仅创建两行之间有什么区别吗?

twitter-bootstrap twitter-bootstrap-4 bootstrap-4

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

tkinter的Tk和Toplevel课程有什么区别?

在Python 3中,我从交互式shell运行以下命令:

>>> import tkinter
>>> type(tkinter.Tk())
<class 'tkinter.Tk'>
>>> type(tkinter.Toplevel())
<class 'tkinter.Toplevel'>
Run Code Online (Sandbox Code Playgroud)

这两个都创建了单独的窗口.我假设tkinter.Tk()返回tkinter应用程序的"主"窗口,而任何其他窗口应该创建tkinter.Toplevel().

我注意到如果你关闭tkinter.Tk()窗户,两个窗户都会关闭.此外,如果您在tkinter.Toplevel()没有调用的情况下调用tkinter.Tk(),则会创建两个窗口(其中一个窗口是"主"窗口,当关闭时,它也将关闭Toplevel窗口).

这准确吗?我还应该关注其他任何不同之处吗?

python tkinter python-3.x

13
推荐指数
1
解决办法
4150
查看次数

如何从Ubuntu Dash运行Python脚本?

我已经编写了hello.py(一个基本的“ hello world”程序),并希望能够通过按Win键打开Dash,然后键入脚本名称(或类似名称)来在Ubuntu计算机上快速运行它。对此)。

但是,当我在Dash中键入hello.py时,它将在编辑器中打开文件而不是执行它。我添加了一个shebang行#!/usr/bin/env python3并运行chmod u+x hello.py,它仍然在编辑器中打开文件。

我尝试创建一个将运行Python脚本的hello.sh shell脚本,但是当我在Dash中键入其名称时,shell脚本也会在编辑器中打开。

另外,我尝试按Alt-F2组合键,它会弹出类似Windows的Win-R的字样,但是当我输入python3 hello.py该字词时,它不会弹出显示任何print()输出的终端窗口。

是否可以通过在Dash中键入其名称来运行Python脚本?还是有另一种简单的方法来运行任意Python脚本?本质上,我想要的是类似Windows的运行对话框,当您按下Win-R时会出现该对话框,该对话框可以在系统PATH上运行任何程序。

python ubuntu

13
推荐指数
1
解决办法
448
查看次数

如何使用Python脚本中的Cocoa API最小化/最大化macOS中的窗口?

如何通过Python脚本最小化/最大化macOS中的窗口?在Windows上,有一个win32 api(该ShowWindow()函数)可以执行此操作。我想要等效的macOS。我希望脚本能够从其标题中找到一个窗口,然后将其最小化或最大化。

这可能吗?我认为我需要为此使用pyobjc模块。

python macos cocoa pyobjc

12
推荐指数
1
解决办法
455
查看次数

我可以撤消 Black 对我的 Python 代码所做的格式样式更改吗?

Python 格式化工具 Black 是否有一个选项可以撤消它在运行后所做的格式化更改?还是假设我正在使用源代码控制并制作自己的备份?这是截至 2019 年 12 月和黑色版本 19.3b0。

python python-black

11
推荐指数
1
解决办法
2758
查看次数