找到 34423 篇文章 关于编程

Python 中的下一个排列

Arnab Chakraborty
更新于 2020年5月4日 05:42:40

4K+ 阅读量

假设我们想要实现下一个排列方法,该方法将数字重新排列成数字的字典序下一个更大的排列。如果这样的排列是不可能的,则此方法将将其重新排列为最低可能的顺序(实际上,按升序排序)。替换必须在原地进行,并且不使用任何额外的内存。例如,如果输入在左侧列中,其对应的输出在右侧列中。1, 2, 3 → 1, 3, 2 3, 2, 1 → 1, 2, 3 1, 1, 5 → 1, 5, 1让我们看看步骤 - 发现 ... 阅读更多

Python 中的 Tkinter 编程

Mohd Mohtashim
更新于 2020年1月31日 10:34:19

2K+ 阅读量

Tkinter 是 Python 的标准 GUI 库。Python 与 Tkinter 结合使用,提供了一种快速简便的方法来创建 GUI 应用程序。Tkinter 为 Tk GUI 工具包提供了一个强大的面向对象的接口。使用 Tkinter 创建 GUI 应用程序是一项简单的任务。您需要执行以下步骤 -导入 Tkinter 模块。创建 GUI 应用程序主窗口。向 GUI 应用程序添加一个或多个上述小部件。输入主事件循环以对用户触发的每个事件采取行动。示例#!/usr/bin/python import Tkinter top = Tkinter.Tk() # 将在此处添加小部件的代码... top.mainloop()这将 ... 阅读更多

使用 Python 中的 DOM API 解析 XML

Mohd Mohtashim
更新于 2020年1月31日 10:32:17

2K+ 阅读量

文档对象模型 (“DOM”) 是万维网联盟 (W3C) 用于访问和修改 XML 文档的跨语言 API。DOM 对于随机访问应用程序非常有用。SAX 仅允许您一次查看文档的一小部分。如果您正在查看一个 SAX 元素,则无法访问另一个元素。以下是如何快速加载 XML 文档并使用 xml.dom 模块创建 minidom 对象的最简单方法。minidom 对象提供了一个简单的解析器方法,可以快速从 XML 文件创建 DOM 树。示例短语调用 ... 阅读更多

使用 Python 中的 SAX API 解析 XML

Mohd Mohtashim
更新于 2020年1月31日 10:30:33

7K+ 阅读量

SAX 是用于事件驱动的 XML 解析的标准接口。使用 SAX 解析 XML 通常需要您通过子类化 xml.sax.ContentHandler 来创建自己的 ContentHandler。您的 ContentHandler 处理您喜欢的 XML 的特定标签和属性。ContentHandler 对象提供方法来处理各种解析事件。它的拥有者解析器在解析 XML 文件时调用 ContentHandler 方法。方法 startDocument 和 endDocument 分别在 XML 文件的开头和结尾处调用。方法 characters(text) 通过参数 text 传递 XML 文件的字符数据。在每个元素的开头和结尾处调用 ContentHandler。如果解析器不是在命名空间模式下,... 阅读更多

Python 中的多线程优先级队列

Mohd Mohtashim
更新于 2020年1月31日 10:24:30

988 阅读量

Queue 模块允许您创建一个可以容纳特定数量项目的新的队列对象。以下是一些控制队列的方法 -get() - get() 从队列中删除并返回一个项目。put() - put 将项目添加到队列中。qsize() - qsize() 返回当前在队列中的项目数。empty() - empty() 如果队列为空,则返回 True;否则返回 False。full() - full() 如果队列已满,则返回 True;否则返回 False。示例#!/usr/bin/python import Queue import threading import time exitFlag = 0 class myThread (threading.Thread):    def __init__(self, threadID, name, q): ... 阅读更多

Python 中的线程同步

Mohd Mohtashim
更新于 2020年1月31日 10:21:11

11K+ 阅读量

Python 提供的 threading 模块包含一个易于实现的锁定机制,允许您同步线程。通过调用 Lock() 方法创建一个新的锁,该方法返回新的锁。新锁对象的 acquire(blocking) 方法用于强制线程同步运行。可选的 blocking 参数使您能够控制线程是否等待获取锁。如果 blocking 设置为 0,则如果无法获取锁,线程立即返回 0 值,如果获取了锁,则返回 1。如果 blocking 设置为 1,则线程阻塞并等待锁释放。release() 方法 ... 阅读更多

Python 中的 Threading 模块

Mohd Mohtashim
更新于 2020年1月31日 10:18:04

9K+ 阅读量

Python 2.4 中包含的较新的 threading 模块比上一节中讨论的 thread 模块提供了更强大、更高级别的线程支持。threading 模块公开了 thread 模块的所有方法,并提供了一些其他方法 -threading.activeCount() - 返回活动线程对象的数目。threading.currentThread() - 返回调用方线程控制中的线程对象数目。threading.enumerate() - 返回当前活动的所有线程对象的列表。除了方法之外,threading 模块还有 Thread 类来实现线程。Thread 类提供的方法如下 -run() - run() 方法是入口点 ... 阅读更多

在 Python 中启动新线程

Mohd Mohtashim
更新于 2020年1月31日 10:08:18

488 阅读量

要生成另一个线程,您需要调用 thread 模块中可用的以下方法 -thread.start_new_thread ( function, args[, kwargs] )此方法调用使您能够在 Linux 和 Windows 中快速有效地创建新线程。方法调用立即返回,子线程启动并使用传递的 args 列表调用函数。当函数返回时,线程终止。这里,args 是参数的元组;使用空元组在不传递任何参数的情况下调用函数。kwargs 是可选的关键字参数字典。示例#!/usr/bin/python import thread import time # 定义线程的函数 def print_time( threadName, delay):    count = 0   ... 阅读更多

使用 Python 发送电子邮件附件

Mohd Mohtashim
更新于 2020年1月31日 10:09:56

617 阅读量

要发送具有混合内容的电子邮件,需要将 Content-type 标头设置为 multipart/mixed。然后,可以在边界内指定文本和附件部分。边界以两个连字符后跟一个唯一数字开头,该数字不能出现在电子邮件的消息部分中。表示电子邮件最终部分的最终边界也必须以两个连字符结尾。附加文件应使用 pack("m") 函数进行编码,以便在传输之前进行 base64 编码。示例以下示例将文件 /tmp/test.txt 作为附件发送。试一试 -#!/usr/bin/python import smtplib import base64 filename = "/tmp/test.txt" # 读取文件并 ... 阅读更多

使用 Python 发送 HTML 电子邮件

Mohd Mohtashim
更新于 2020年1月31日 10:05:04

675 阅读量

当您使用 Python 发送文本消息时,所有内容都将被视为简单文本。即使您在文本消息中包含 HTML 标签,它也会显示为简单文本,并且 HTML 标签不会根据 HTML 语法进行格式化。但是 Python 提供了将 HTML 消息作为实际 HTML 消息发送的选项。在发送电子邮件消息时,您可以指定 Mime 版本、内容类型和字符集以发送 HTML 电子邮件。示例以下是如何将 HTML 内容作为电子邮件发送的示例。试一试 -#!/usr/bin/python import smtplib message = """From: 发件人 To: ... 阅读更多

广告

© . All rights reserved.