找到关于编程的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) 提供的一种跨语言 API,用于访问和修改 XML 文档。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.