GVKun编程网logo

如何在python中使用第三方“库”?(python的第三方库有什么作用)

29

在这篇文章中,我们将为您详细介绍如何在python中使用第三方“库”?的内容,并且讨论关于python的第三方库有什么作用的相关问题。此外,我们还会涉及一些关于python学习之使用第三方函数库、py

在这篇文章中,我们将为您详细介绍如何在python中使用第三方“库”?的内容,并且讨论关于python的第三方库有什么作用的相关问题。此外,我们还会涉及一些关于python 学习之使用第三方函数库、python-2.7 – 如何在python中使用webdriver选择下拉列表值、Python-如何在Python中使用线程?、Python-如何在Python中表示“Enum”?的知识,以帮助您更全面地了解这个主题。

本文目录一览:

如何在python中使用第三方“库”?(python的第三方库有什么作用)

如何在python中使用第三方“库”?(python的第三方库有什么作用)

免责声明 :这是一个非常基本的问题,但是请记住,我来自Microsoft背景,并且我主要使用Visual
Studio在.NET中进行编程(这也许可以帮助您进行类比)


我开始为它编写一些有趣的python程序,因此我下载了eclipse并安装了PyDev。

我到达需要解析日期的位置,并且发现time.strptime的替代项似乎很有趣。替代方法是python-
dateutil。

我继续下载了它,但是在尝试使用它时遇到了问题。
显然,下载内容包括源文件,我完全不知道如何在Eclipse的“项目”中使用它。

所以我的基本问题是:

  • 我是否需要将源文件直接包含在文件中?也许在子目录中?我将如何在代码中使用它(如何 导入.py文件中)?
  • 我是否需要“构建”(制造?)并引用它们?怎么样?您如何在Windows中“编译”类似的东西?
  • 我是否完全缺少某些要点?

感谢您的耐心等待。

答案1

小编典典

我继续下载了它,但是在尝试使用它时遇到了问题。显然,下载内容包括源文件,我完全不知道如何在Eclipse的“项目”中使用它。

您应该在命令类型中使用pip:

pip install python-dateutil

该命令将为您做所有事情,它将自动下载并安装该库。如果您没有pip参考上面的文档以了解如何安装它

我是否需要将源文件直接包含在文件中?也许在子目录中?我将如何在代码中使用它(如何将其导入.py文件中)?

如果您不需要使用上述pip,现在应该import dateutil在脚本中使用它:

import dateutil

我是否需要“构建”(制造?)它们并引用它们?怎么样?您如何在Windows中“编译”类似的东西?

一切都用pip完成(魔术是不是:))

我是否完全缺少某些要点?

是的,python很酷,简单,有趣,忘记了make,make install … python中的所有内容都易于安装。

对于G
..的热爱,请使用pip(这是来自BDFL的命令)。

替代文字

希望这可以帮助:)

python 学习之使用第三方函数库

python 学习之使用第三方函数库

import urllib
import webbrowser as web
url = ''http://www.163.com''
#定义要打开的网站url
content = urllib.urlopen(url).read()

#读取定义好的url网站内容
open(''163.com.html'',''w'').write(content)

#将读取的文件保存到本地文件,写入读取到的内容
web.open_new_tab(''163.com.html'')

#调用浏览器打开新生成文件


python-2.7 – 如何在python中使用webdriver选择下拉列表值

python-2.7 – 如何在python中使用webdriver选择下拉列表值

html源代码如下
<select id="ca_vdcs"name="vdc"https://www.jb51.cc/tag/dis/" target="_blank">display: none;">
<option>-- Select a vDC --</option>
<option>Platform-VDC-org</option>
</select>

我想选择’Platform-VDC-org’,但下面的代码不起作用.

select = browser.find_element_by_id('ca_vdcs')
select.find_element_by_xpath("//option[@value='Platform-VDC-org']").click()

解决方法

您应该尝试使用Select()类.它使得处理选择元素变得更加容易.
select = Select(browser.find_element_by_id("ca_vdcs"))
select.select_by_visible_text("Platform-VDC-org")

您可以在此处查看Python中的WebDriver API绑定:

http://selenium-python.readthedocs.org/en/latest/api.html

Select()类位于第7.12节. UI支持

Python-如何在Python中使用线程?

Python-如何在Python中使用线程?

如何解决Python-如何在Python中使用线程??

我将在下面进行总结-最终仅是几行代码:

from multiprocessing.dummy import Pool as ThreadPool
pool = ThreadPool(4)
results = pool.map(my_function, my_array)

这是以下内容的多线程版本:

results = []
for item in my_array:
    results.append(my_function(item))

Map是一个很棒的小功能,是轻松将并行性注入Python代码的关键。对于那些不熟悉的人来说,地图是从Lisp等功能语言中提炼出来的。它是将另一个功能映射到序列上的功能。

Map为我们处理序列上的迭代,应用函数,并将所有结果存储在最后的方便列表中。

在此处输入图片说明

map函数的并行版本由以下两个库提供:multiprocessing,以及鲜为人知但同样出色的继子child:multiprocessing.dummy

multiprocessing.dummy与多处理模块完全相同,但是使用线程代替(一个重要的区别 -使用多个进程来处理cpu密集型任务;用于I / O的线程)。

multiprocessing.dummy复制了多处理的API,但仅不过是线程模块的包装器。

import urllib2
from multiprocessing.dummy import Pool as ThreadPool

urls = [
  ''http://www.python.org'',
  ''http://www.python.org/about/'',
  ''http://www.onlamp.com/pub/a/python/2003/04/17/Metaclasses.html'',
  ''http://www.python.org/doc/'',
  ''http://www.python.org/download/'',
  ''http://www.python.org/getit/'',
  ''http://www.python.org/community/'',
  ''https://wiki.python.org/moin/'',
]

# Make the Pool of workers
pool = ThreadPool(4)

# Open the URLs in their own threads
# and return the results
results = pool.map(urllib2.urlopen, urls)

# Close the pool and wait for the work to finish
pool.close()
pool.join()

以及计时结果:

Single thread:   14.4 seconds
       4 Pool:   3.1 seconds
       8 Pool:   1.4 seconds
      13 Pool:   1.3 seconds

传递多个参数(仅在Python 3.3和更高版本中才这样):

要传递多个数组:

results = pool.starmap(function, zip(list_a, list_b))

或传递一个常数和一个数组:

results = pool.starmap(function, zip(itertools.repeat(constant), list_a))

解决方法

我试图了解Python中的线程。我看过文档和示例,但坦率地说,许多示例过于复杂,我难以理解它们。

你如何清楚地显示为多线程而划分的任务?

Python-如何在Python中表示“Enum”?

Python-如何在Python中表示“Enum”?

如何解决Python-如何在Python中表示“Enum”??

如PEP 435中所述,将枚举添加到Python 3.4中。它也已在pypi上反向移植到 3.3、3.2、3.1、2.7、2.6、2.52.4

对于更高级的Enum技术,请尝试aenum库(2.7、3.3+,与作者相同enum34。py2和py3之间的代码并不完全兼容,例如,__order__在python 2中需要)。

  • 要使用enum34,做$ pip install enum34
  • 要使用aenum,做$ pip install aenum
  • 安装enum(无编号)将安装完全不同且不兼容的版本。
from enum import Enum     # for enum34, or the stdlib version
# from aenum import Enum  # for the aenum version
Animal = Enum(''Animal'', ''ant bee cat dog'')

Animal.ant  # returns <Animal.ant: 1>
Animal[''ant'']  # returns <Animal.ant: 1> (string lookup)
Animal.ant.name  # returns ''ant'' (inverse lookup)

或等效地:

class Animal(Enum):
    ant = 1
    bee = 2
    cat = 3
    dog = 4

在早期版本中,完成枚举的一种方法是:

def enum(**enums):
    return type(''Enum'', (), enums)

用法如下:

>>> Numbers = enum(ONE=1, TWO=2, THREE=''three'')
>>> Numbers.ONE
1
>>> Numbers.TWO
2
>>> Numbers.THREE
''three''

您还可以轻松支持自动枚举,如下所示:

def enum(*sequential, **named):
    enums = dict(zip(sequential, range(len(sequential))), **named)
    return type(''Enum'', (), enums)

并像这样使用:

>>> Numbers = enum(''ZERO'', ''ONE'', ''TWO'')
>>> Numbers.ZERO
0
>>> Numbers.ONE
1

可以通过以下方式添加将值转换回名称的支持:

def enum(*sequential, **named):
    enums = dict(zip(sequential, range(len(sequential))), **named)
    reverse = dict((value, key) for key, value in enums.iteritems())
    enums[''reverse_mapping''] = reverse
    return type(''Enum'', (), enums)

这将覆盖具有该名称的所有内容,但是对于在输出中呈现枚举很有用。如果反向映射不存在,它将抛出KeyError。对于第一个示例:

>>> Numbers.reverse_mapping[''three'']
''THREE''

我喜欢保持简单(我在网上看到了一些非常复杂的示例),就像这样…

class Animal:
    DOG = 1
    CAT = 2

x = Animal.DOG

在Python 3.4(PEP 435)中,你可以将Enum设为基类。这会给你带来一些额外的功能,如PEP中所述。例如,枚举成员与整数不同,它们由a name和a 组成value。

class Animal(Enum):
    DOG = 1
    CAT = 2

print(Animal.DOG)
# <Animal.DOG: 1>

print(Animal.DOG.value)
# 1

print(Animal.DOG.name)
# "DOG"

如果你不想键入值,请使用以下快捷方式:

class Animal(Enum):
    DOG, CAT = range(2)

Enum实现可以转换为列表并且可以迭代。其成员的顺序是声明顺序,与它们的值无关。例如:

class Animal(Enum):
    DOG = 1
    CAT = 2
    COW = 0

list(Animal)
# [<Animal.DOG: 1>, <Animal.CAT: 2>, <Animal.COW: 0>]

[animal.value for animal in Animal]
# [1, 2, 0]

Animal.CAT in Animal
# True

解决方法

如何用Python表示等效的枚举?

今天关于如何在python中使用第三方“库”?python的第三方库有什么作用的介绍到此结束,谢谢您的阅读,有关python 学习之使用第三方函数库、python-2.7 – 如何在python中使用webdriver选择下拉列表值、Python-如何在Python中使用线程?、Python-如何在Python中表示“Enum”?等更多相关知识的信息可以在本站进行查询。

本文标签: