在这篇文章中,我们将为您详细介绍如何在python中使用第三方“库”?的内容,并且讨论关于python的第三方库有什么作用的相关问题。此外,我们还会涉及一些关于python学习之使用第三方函数库、py
在这篇文章中,我们将为您详细介绍如何在python中使用第三方“库”?的内容,并且讨论关于python的第三方库有什么作用的相关问题。此外,我们还会涉及一些关于python 学习之使用第三方函数库、python-2.7 – 如何在python中使用webdriver选择下拉列表值、Python-如何在Python中使用线程?、Python-如何在Python中表示“Enum”?的知识,以帮助您更全面地了解这个主题。
本文目录一览:- 如何在python中使用第三方“库”?(python的第三方库有什么作用)
- python 学习之使用第三方函数库
- python-2.7 – 如何在python中使用webdriver选择下拉列表值
- Python-如何在Python中使用线程?
- Python-如何在Python中表示“Enum”?
如何在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 学习之使用第三方函数库
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选择下拉列表值
<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(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中使用线程??
我将在下面进行总结-最终仅是几行代码:
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”??
如PEP 435中所述,将枚举添加到Python 3.4中。它也已在pypi上反向移植到 3.3、3.2、3.1、2.7、2.6、2.5
和2.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”?等更多相关知识的信息可以在本站进行查询。
本文标签: