Category: Python / Wxpython
Python内置库
Python 语言参考手册
Python 标准库
一、20个必不可少的Python库也是基本的第三方库
Requests.Kenneth Reitz写的最富盛名的http库。每个Python程序员都应该有它。
Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的。用过它之后你就不会再想用别的同类库了。
wxPython.Python的一个GUI(图形用户界面)工具。我主要用它替代tkinter。你一定会爱上它的。
Pillow.它是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。
SQLA…
Read More
前言
什么算是高层的文件操作呢?
普通的文件操作,我们一般只涉及创建文件,文件夹以及写入文件等等。假如我现在需要复制一个文件的内容到另一个文件之中,用pathlib等都只能先打开复制文件,然后进行将其读出来保存,然后再写入新的文件,这种普通的复制操作,无形之中增加了许多步骤。
而shutil库可以直接完成复制符间的操作,同时还支持归档。本篇,将详细介绍文件的高层次操作。
shutil.copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉
shutil.move…
Read More
pathlib 库从 python3.4 开始,到 python3.6 已经比较成熟。如果你的新项目可以直接用 3.6 以上,建议用 pathlib。相比于老式的 os.path 有几个优势:
老的路径操作函数管理比较混乱,有的是导入 os, 有的又是在 os.path 当中,而新的用法统一可以用 pathlib 管理。
老用法在处理不同操作系统 win,mac 以及 linux 之间很吃力。换了操作系统常常要改代码,还经常需要进行一些额外操作。
老用法主要是函数形式,返回的数据类型通常是字符串。但是路径和字符串并不等价,所以在使用 os 操作路径的时候常常还要引入其他类库协助操作。新用法是面向对象,处理起来更灵活方便。
pathlib 简化了很…
Read More
Arrow 是用于处理日期和时间的 Python 模块。 与内置的日期和时间工具相比,它使创建,操作,格式化和转换日期,时间和时间戳变得更加容易。
安装 Arrow
Arrow 模块使用以下命令安装:
sudo pip3 install arrow
我们使用pip3命令安装arrow模块。
UTC 时间
实际需要一个全球时间。 全球时间可以避免时区和夏令时的混淆。 UTC(世界标准时间)是主要时间标准。 UTC 用于航空,天气预报,飞行计划,空中交通管制通关和映射。 与当地时间不同,UTC 不会随季节变化而变化。
utc_time.py
#!/usr/bin/python3
impo…
Read More
数据类型是数据项的分类或分类。它表示一种值,它告诉可以对特定数据执行哪些操作。由于在 Python 编程中一切都是对象,因此数据类型实际上是类,而变量是这些类的实例(对象)。
以下是 Python 的标准或内置数据类型:
内置数据类型
在编程中,数据类型是一个重要的概念。
变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。
在这些类别中,Python 默认拥有以下内置数据类型:
文本类型:
str
数值类型:
int, float, complex
序列类型:
list, tuple, range
映射类型:
dict
集合类型:
set, frozenset
布尔类型:
bool
二进制类型…
Read More
在我最近的一个自动化项目中,我正在编写代码以单击网页上的某个元素。这是一个带有 id 的非常简单的元素avatar。令我惊讶的是,Selenium 未能找到该元素并抛出异常NoSuchElementException。我更仔细地检查了那个元素,发现这个元素在一些奇怪的元素里面shadow-root。事实上,有一个元素树,包括avatar在那个元素里面shadow-root。
一个快速的谷歌搜索显示这shadow-root不是一个常规的 DOM 元素,它是影子 DOM 的一部分。到目前为止,Selenium WebDriver 无法与之交互。w3c有一个提案正在等待中来支持它。
什么是 DOM?…
Read More
在本教程中,我将向您展示使用Windows Scheduler安排 Python 脚本的步骤。当您想在规定的时间运行 Python 脚本时,这种类型的练习特别有用。
为了向您展示该过程是如何工作的,我将使用一个显示“Hello World!”的简单示例。每天早上 6 点。
希望不会太早……
使用 Windows 调度程序调度 Python 脚本的步骤
第 1 步:准备 Python 脚本
在我们的示例中,我将使用tkinter 模块来显示“Hello World!”的标签。
或者,您可以使用任何您想要安排的 Python 脚本。
这是我使用的 Python 脚本:
import tkinter as tk
root= tk.T…
Read More
文档:https://splinter.readthedocs.io/en/latest/index.html
实例 new tab, new window:
import time
from splinter import Browser
from webdriver_manager.chrome import ChromeDriverManager
driver_name = 'chrome'
browser = Browser(driver_name=driver_name, executable_path=ChromeDriverManager().install(), incognito=True, hea…
Read More
有一些同学在写爬虫的时候,过于依赖 Selenium,觉得只要使用模拟浏览器,在不被网站屏蔽的情况下,就可以爬到任何内容。
今天我们不讨论字体反爬虫和 CSS 反爬虫这两种情况。我们来看一段非常简单的网页。这个网页只有一个HTML 文件,不加载特殊字体,不加载 CSS 文件。
这个网页的奇怪之处在哪里呢?我们试一试使用 XPath Helper 来提取网页上面的红色文字,发现XPath 竟然无法找到这段文字,如下图所示:
然后我们使用 Selenium 来试一试:
Selenium果然无法获取 红字到内容。我们再打印一下网页的源代码:
 …
Read More
PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。
安装Pillow
如果安装了Anaconda,Pillow就已经可用了。否则,需要在命令行下通过pip安装:
$ pip install pillow
如果遇到Permission denied安装失败,请加上sudo重试。
文档…
Read More
py示例:
#coding=utf-8
print("hello work")
for i in range(100):
print(i)
input()
# 或者
# cmd
具体原因: 其实程序是运行了,运行完之后就把显示的窗口关掉了 除非你机器运行很卡,不然正常情况下你是看不见任何输出
解决方法:
在程序末尾加“input()”函数(等待输入的函数)
在bat文件末尾添加cmd (推荐)
假设你要运行的bat文件为run.bat, 那么你就新建一个start.bat文件,内容为start run.bat
在bat文件末尾添加pause
本文:bat文件运行一闪而过的解决方法, b…
Read More
1. Selenium webdriver 使用的是:helium,详细教程看这里:helium详细教程, 轻量级Selenium webdriver
安装:pip3 install helium
项目地址:https://github.com/mherrmann/selenium-python-helium
API 文档:https://selenium-python-helium.readthedocs.io/en/latest/api.html
2. 验证码读取使用的是:anti-captcha,
安装:pip install python-anticaptcha
官网:https:…
Read More
Google 翻译是一项免费服务,可将单词、短语和整个网页翻译成100多种语言。您可能已经知道它,并且在您的生活中多次使用它。
在本教程中,您将学习如何使用Googletrans库在 Python 中执行语言翻译。Googletrans是一个免费且无限制的 Python 库,可对 Google Translate API进行非官方的Ajax调用,以检测语言并翻译文本。
以下是该库的主要功能:
自动语言检测(它也提供语言检测)
批量翻译
快速可靠
HTTP/2 支持
连接池
首先,让我们使用pip安装它:
pip3 install googletrans
翻译文本
导入必要的库:…
Read More
__str__( )函数和__init__( )函数一样,都是python中的特殊函数,一般来说,打印对象会返回对象的地址,而地址信息通常对我们没有什么用,通过__str__( )函数可以打印对象的属性信息,方便我们调试代码。
定义 __str__() 方法:
class Cat:
"""定义一个猫类"""
def __init__(self, new_name, new_age):
"""在创建完对象之后 会自动调用, 它完成对象的初始化的功能"""
# self.name = "汤姆"
# self.age = 20