原文:AskPython Blog
协议:CC BY-NC-SA 4.0
原文:https://www.askpython.com/python/examples/create-a-directory-in-python
大家好!在本文中,我们将揭示用 Python 创建目录的不同方法
Python os 模块包含各种内置函数,用于处理底层操作系统和文件并与之交互。
os 模块包含在系统中创建目录的各种内置函数。
在接下来的几节中,我们将了解使用 os 模块创建目录的各种方法。
技巧 1:使用 os.mkdir()方法在 Python 中创建目录
os 模块内置了在系统中创建一个目录。
语法:
- :用户希望创建目录的位置。它是一个字符串或字节值,包含要构建的目录的完整路径和名称。
- :处理目录内文件操作需要赋予的权限。默认值为“ 0o777 ”。
例 1: 在指定位置用 Python 创建一个目录。
输出:
Creating a directory-2 using mkdir()
例 2: 提供权限处理目录内的读写操作。
设置 mode = 0o666,允许在创建的目录中进行读写文件操作。
输出:
Creating a directory-1 using mkdir()
os.mkdir()函数的异常
如果指定位置的目录已经存在,os.mkdir()方法会引发一个。
举例:
输出:
技巧 2:使用 os.makedirs()方法在系统中创建目录
os 模块有内置的 os.makedirs()方法来在系统内创建嵌套或递归目录。
也就是说,创建父目录、中间目录以及叶目录,如果它们中的任何一个不在系统文件中的话。
语法:
举例:
在上面的示例中,makedirs()函数通过该函数一次创建了中间目录“Python_files”和叶目录“OS_module”。
输出:
Creating a parent directory using makedirs()
Creating an Intermediate Directory Using makedirs()
Creating a Base Directory using makedirs()
因此,在本文中,我们已经了解了使用 os 模块在系统中创建目录的方法。
- Python 目录— JournalDev
原文:https://www.askpython.com/python-modules/pandas/create-an-empty-dataframe
读者你好!在本教程中,我们将讨论在 Python 中创建空数据帧的不同方法。我们还将讨论空数据帧和具有 n an 值的数据帧之间的区别。那么,我们开始吧。
在 Python 中,数据帧是由 Python pandas 模块 提供的二维数据结构,该模块以表格格式即行和列的形式存储数据。一个空数据帧是一个完全空的熊猫数据帧对象(其中没有数据),所有轴的长度为零。它必须有零行数或零列数。
我们可以使用 pandas DataFrame 对象的属性来检查 pandas DataFrame 对象是否为空。当我们在 pandas DataFrame 对象上应用这个属性时,它返回一个布尔值,即真或假,这取决于相关 DataFrame 对象是否为空的条件。
在 Python 中,我们可以通过以下方式创建一个空的熊猫数据帧。让我们一个一个地了解这些。
1.创建一个没有任何行或列的完整的空数据帧
这是使用函数创建一个空的 pandas DataFrame 对象的最简单和最容易的方法。在这个方法中,我们简单地调用 pandas DataFrame 类构造函数,不带任何参数,这又返回一个空的 pandas DataFrame 对象。让我们看看实现这个方法的 Python 代码。
输出:
2.创建一个只有行的空数据帧
这是使用函数创建一个空的 pandas DataFrame 对象的另一个简单方法,该对象只包含行。在这个方法中,我们将调用带有一个参数的 pandas DataFrame 类构造函数- index ,它反过来返回一个空的 Pandas DataFrame 对象以及传递的行或索引列表。让我们编写 Python 代码来实现这个方法。
输出:
3.创建一个只有列的空数据框架
为了使用函数创建一个只包含列的空 Pandas DataFrame 对象,我们调用带有一个参数的 Pandas DataFrame 类构造函数—columns,它反过来返回一个空 Pandas DataFrame 对象和传递的列列表。让我们通过 Python 代码来实现这个方法。
输出:
4.创建一个包含行和列的空数据框架
在这个方法中,我们创建一个空的 Pandas DataFrame 对象,它包含行和列。当我们用两个参数调用 pandas DataFrame 类构造函数时- 列和索引,它返回一个空的 pandas DataFrame 对象,带有传递的索引和列列表。让我们看看如何通过 Python 代码实现这个方法。
输出:
**注意:**这个方法有一个问题,我们可以看到它的输出,属性返回了 False。这意味着我们在这个方法中创建的数据帧不会被 pandas 模块视为空数据帧。
我们已经看到了上述 Python 代码输出的问题。Pandas 模块对空数据帧和具有所有 NaN 值的数据帧进行不同的处理。
发生这种情况是因为当我们试图使用这种方法创建一个空的 pandas DataFrame 时,我们没有在 DataFrame 对象中提供或输入任何数据,但默认情况下,它会填充有 NaN 值。
这就是为什么当我们将属性应用于这种熊猫数据帧时,它返回 False。
因此,克服这个问题的一个简单的解决方案是删除所有默认放置在数据帧中的 NaN 值。我们可以使用 pandas DataFrame 类的 函数删除 DataFrame 中的所有 NaN 值。然后我们在 DataFrame 对象上应用属性来检查结果,它将返回 True。让我们通过 Python 代码来实现这一点。
输出:
在本教程中,我们已经学习了四种创建空 Pandas DataFrame 对象的方法,以及空 DataFrame 和具有 n an 值的 DataFrame 之间的区别。希望你已经理解了上面讨论的所有内容,并对自己尝试这些方法感到兴奋。谢谢你,请继续关注我们,以获得更多精彩的 Python 教程。
原文:https://www.askpython.com/python/list/create-an-empty-python-list
嘿,大家好!在本文中,我们将关注创建空 Python 列表的不同方法。
我们先来详细了解一下 Python List 的工作原理。
Python List 是一个动态数据结构,将元素存储在其中。列表的美妙之处在于它可以存储不同的元素,即不同数据类型的元素都可以存储在其中。
举例:
输出:
现在让我们看看创建一个空 Python 列表的方法。
我们可以使用方括号在 Python 中创建一个空列表。众所周知,列表使用方括号来存储它的元素。因此,它也可以应用在这里。
语法:
举例:
在上面的例子中,我们使用方括号创建了一个空列表。
输出:
Python list()函数可以用来生成如下所示的空列表-
语法:
如果没有参数传递给它,将返回一个空列表。但是,如果数据值作为参数传递给它,list()函数将返回 iterable 中的数据值。
举例:
这里,我们使用内置的 list()函数创建了一个空列表。因为没有参数传递给 list()函数,所以它返回一个空列表作为输出。
输出:
到此,我们就结束了这个话题。如果你遇到任何问题,请随时在下面评论。如果你想在 Python 中实现一个函数来检查一个列表是否为空,看看链接的文章。
在那之前,学习愉快!!
- 如何创建空列表— StackOverflow
原文:https://www.askpython.com/python/examples/create-chatroom-in-python
在本文中,我们将从头到尾用 Python 创建一个聊天室。在我们开始之前,让我们从概念上了解一下什么是聊天室。
聊天室是世界各地的人们就各种话题相互交流的空间。主题可以从应用程序开发到厨房里的任何食谱。聊天室是学习如何交流的绝佳平台。在本文中,我将向您介绍如何使用套接字和 python 的基本概念来创建一个小型聊天室。
现在,在本教程中,我们将使用 python 中的套接字来构建一个实时聊天应用程序。让我们从套接字的概念开始。
在网络术语中,套接字在 TCP/IP 协议簇中充当连接应用层和传输层的媒介。这些网络套接字存在于客户端和服务器端。
套接字编程是一种连接网络上两个节点以相互通信的方式。一个套接字(节点)监听一个 IP 上的特定端口,而另一个套接字与另一个套接字建立连接。服务器形成侦听器套接字,而客户端连接到服务器。
Client Server Model
服务器接受来自客户端的连接以建立网络接口。我们需要确保客户/用户是独特的。因此,我们为每个客户端分配一个唯一的 IP 地址。然而,许多用户喜欢用用户名来识别。因此,我们也将分配用户名。
服务器的作用是收集任何传入的消息,并将它们传递给其他客户端。
让我们开始编写服务器端的代码。首先,创建一个名为的文件。
1.导入所需的库
首先,我们导入了库,因为这个 python 库包含了实现套接字的必要函数。
库提供系统模块,负责提供与系统目录、函数和方法相关的数据。
模块使我们能够执行许多关于时间转换和描述的操作。
2.创建套接字并检索主机名
函数是套接字库的构造函数,用于创建套接字。
一旦创建了套接字,我们就使用检索主机名/本地设备名,这也是套接字库的一个功能。
当以参数发送时,检索另一个用户的 IP 地址,该 IP 地址存储在中。
被指定为 8080。选择此端口是因为在大多数机器上这是一个默认的空闲端口。通常,3000、5000 等端口用于 express.js 等其他应用程序。您也可以在任何端口(如“1234”)上运行它。
3.绑定主机和端口
现在我们将使用在 socket 对象上调用的 bind 函数将端口和主机绑定在一起。一旦绑定成功,它打印“绑定成功!”在控制台上。
4.监听连接
这里,我们使用接受一个参数的函数,即。该参数可以是任何整数,如 1、2、3、…
5.接受传入连接
第一个变量连接到套接字,变量“add”分配给客户端的 IP 地址。
6.存储传入的连接数据
传入连接的细节存储在 client_name 变量中。客户端的名称最多可以有 1024 个字节。它在服务器上被解码,并打印出一条消息,表明它已被连接。然后,服务器发送主机名。
7.传递数据包/消息
用户输入消息。这使用编码,然后通过套接字发送。使用函数发送消息,该函数在前面调用 accept()函数期间创建的连接对象上调用。然后显示“消息已发送…”。
使用 conn 对象的接收传入消息。它可以接收多达 1024 字节的信息。使用在服务器端对消息进行解码。
完整的服务器端聊天室代码
以下是完整的服务器端聊天室代码:
Output Of Server On Command Prompt
我们将创建一个名为 client.py 的文件,并创建我们的代码来与聊天服务器连接和通信。
1.导入库
我们导入服务器端使用的相同库。
2.创建套接字并接受用户输入的主机名
- 使用方法在服务器上创建套接字。
- 在客户端检索服务器的主机名,并存储为。
- IP 地址存储在中。
- 服务器端口在变量中存储为 8080。
请注意,此端口必须与服务器端代码中提到的端口相匹配。
3.连接到服务器
首先输入服务器(朋友)的详细信息。请注意,输入准确的 IP 地址非常重要,否则通信将会失败。
服务器的主机名和端口以某种方式绑定在一起,并连接到套接字。
4.从服务器接收数据包/消息
为了接收消息,socket_server 调用 recv()函数来接受 1024 的数据。它存储在消息对象中,并使用 decode()函数进行解码。然后,该消息将打印出服务器的主机名和收到的消息。
客户端可以输入任何消息作为输入,并对其进行编码,然后使用套接字将其发送给服务器。
因此,我们使用套接字和 python 部署了一个实时聊天室。
完整的客户端聊天室代码
以下是我们聊天室客户端的完整代码:
Output Of Client On Command Prompt
复制两个完整的代码片段,分别保存为 server.py 和 client.py,您将拥有自己的第一个 Python 聊天室!它非常容易使用,我相信您会学到很多套接字编程的实用方面。
https://docs.python.org/3/library/socket.html
https://docs.python.org/3/library/socketserver.html
原文:https://www.askpython.com/python-modules/flask/create-hello-world-in-flask
在本文中,我们将介绍 Flask web 框架以及如何安装它。稍后,我们将在 Flask 中编写一个简单的 Hello World 应用程序。
Flask 是一个用 Python 写的 web 框架,用来创建 web 应用。它是一个“微型”web 框架,这意味着它不需要任何额外的工具或库。
注意“微”不代表它不能做其他框架能做的事情。这仅仅意味着你,作为一个开发者,可以决定 Flask 中的一切事情**,比如使用什么数据库等等。,**
Flask 的一些默认决定,比如使用的模板引擎等等。,也可以根据需要进行更改。
因此,它不包括已经存在的第三方库或功能,如数据库抽象层、表单验证等。
总而言之,Flask 是一个开发人员友好的“微型”web 框架!!
我们可以使用 pip 命令将它安装到我们的设备中。在控制台/终端中,运行命令
就是这样!!烧瓶已安装。
现在,我们将创建一个小网页,当访问它时,将显示“Hello World”
因此,创建一个 Python 文件,并在其中编写以下代码。我用过“ app.py ”这个名字;你想要什么都可以。
1.导入 Flask 并创建 Flask 应用程序对象
我们在文件中做的第一件事是导入 Flask
然后我们创建一个 Flask 应用程序对象:
这里 Flask 充当一个类对象。我们发送特殊的 python 变量 name 作为 Flask 类的参数。这个特殊的变量实际上给了每个文件一个唯一的名称。
所以当我们运行 Flask 应用程序时,为了让 Flask 知道这个应用程序是在一个特定的地方运行的,我们使用了这个特殊的变量。
2.编写代码打印 hello world
创建 Flask 对象后,我们现在需要在浏览器上显示 Hello World 消息。所以添加代码:
装饰者 @app.route ('/hello ')表示网页的 URL 端点。而网页会显示的内容是写在下面的函数里的。
3.让服务器在特定端口上运行
我们使用下面的代码来启动服务器并提到端口,服务器就会运行。
LocalHost 意味着服务器将在您的本地计算机(端口=5000)上运行。
4.Flask 中 hello world 应用程序的完整代码
就是这样。文件的最终代码:
5.运行 Hello World 应用程序
编码部分就这样了。现在在终端中,运行 Flask 文件:
这里我使用了“ app.py,”作为我的文件名。在您的情况下,您将使用您的文件名。
**
Terminal**
**现在复制上面显示的网址 **(http://localhost:5000/)。这将是你的主机网站的网址。我们将使用此主机网站 URL 的路由端点来打开我们的网页。
因此,点击 URL“http://localhost:5000/hello”来查看网页。
**
webpage**
祝贺你,我们已经成功地建立了我们的第一个烧瓶网页
本教程到此为止,各位!!在接下来的教程中,我们将学习更多关于 Flask 框架的知识。
所以敬请关注,继续编码!!
原文:https://www.askpython.com/python/examples/create-mastermind-game-in-python
摄魂师是一个双人密码破解游戏,其中一名玩家隐藏了一个由颜色组成的密码,而另一名玩家必须利用前一名玩家每回合提供的线索来猜测。
在本教程中,我们将使用 Python 语言创建自己的智多星游戏。在我们的智多星版本中,计算机将随机选择一个秘密代码,用户试图根据计算机给出的确定性线索来猜测它。
https://www.askpython.com/wp-content/uploads/2020/07/mastermind_game-1.mp4
事不宜迟,让我们进入游戏的设计部分。
最初的策划委员会如下所示。
Mastermind Board
棋盘被屏蔽的一端隐藏了密码,而棋盘的整体是基于密码破译者的猜测。一旦用户识别出隐藏的代码,游戏就结束了。
图中棋盘的右侧包含一系列白色和红色的小钉,用来表示与每次尝试相关的线索。
- 红色–选择的颜色之一位于正确的位置,就像密码一样
- 白色–所选颜色之一出现在代码中,但位置不正确。
该板在终端中的实现如下所示:
Game Design on Terminal
棋盘的顶端隐藏着密码,当玩家失去机会或破解密码时就会显示出来。直到那一刻,*【UNK】**【未知】*才显示出来。
棋盘的每一部分代表玩家的一个回合。游戏支持六种颜色,红色,绿色,黄色,蓝色,黑色,橙色。最左边的面板表示基于每个回合的线索。代表白色的“w”和代表红色的“R”在使用时都有其原始含义
在上面显示的图中,用户选择的四种颜色中有三种是正确的,但是根据密码,它们都不是正确的位置,因此线索中有三个“W”。
上面的代码片段负责在终端上显示摄魂板。
为了方便游戏逻辑的开发,我们需要一些数据结构。
- –游戏中涉及的颜色列表
- –数字和颜色之间的映射
- –秘密代码
- –显示给用户的密码,一个未知的列表
- 玩家所做的猜测列表
- 给玩家的线索列表
这些数据结构中的每一个在处理游戏逻辑时都会派上用场。
游戏开发最关键的部分之一是游戏循环,它负责玩家动作的正常运行和游戏变量的更新。
游戏循环取决于机会的数量和当前回合。每当玩家的机会用尽时,它就会停止游戏。
游戏菜单是游戏的一个简单方面,它帮助程序员用指令或规则与玩家互动。
我们的游戏菜单看起来像这样:
Game Menu
游戏菜单必须简单易懂。
处理玩家输入包括三个基本步骤:接受玩家输入,对其进行一些完整性检查,如果一切正常,将它存储到我们的数据结构中。
接受玩家输入
正如游戏菜单中提到的,玩家需要输入四个数字,每个数字对应一种特定的颜色,用空格隔开。
我们的工作是将这个播放器输入解析成一个整数列表,以便检索正确的颜色。
注意:函数负责通过清除之前的输出来保持终端的干净。它需要 Python 的库。
查看下面函数声明的完整代码。
应用健全性检查
接下来是对玩家输入进行一些健全性检查。
存储玩家移动
在我们知道玩家进行了有效的移动后,我们可以将它存储在游戏容器中。
有两组标志要分配,如果颜色在正确的位置,如在密码中,则为“R”,如果颜色是正确的,但在错误的位置,则为“W”。
需要记住的一件小事是重新排列旗帜,因为它可能会给出与颜色位置相关的提示。
我们要做的就是用隐藏代码检查最新的输入。
一旦玩家输入了正确的密码,我们就会显示一条获胜的信息并结束游戏。
一个小但非常重要的任务是在每次玩家成功移动后更新回合数。
最后但并非最不重要的是处理损失情况。
当玩家用尽了所有的机会,他就输了。当这种情况发生时,我们需要显示适当的消息。
使用 Python 语言创建摄魂师的说明到此结束。
对于任何初学 Python 的程序员来说,创建我们自己的游戏的任务一开始可能会令人望而生畏。我们希望本文简化了某些 Python 概念,并使读者看起来可以完成任务。
如有任何建议或疑问,欢迎在下面发表评论。感谢您的阅读。
原文:https://www.askpython.com/python/examples/create-minesweeper-using-python
在这篇文章中,我们将通过使用 Python 语言创建我们自己的基于终端的扫雷器的步骤。
扫雷是一个单人游戏,玩家必须清除包含地雷和数字的正方形网格。玩家必须借助相邻方块中的数字来防止自己落在地雷上。
创建扫雷游戏几个小时的后果。
https://www.askpython.com/wp-content/uploads/2020/06/minesweeper-1.mp4
在创建游戏逻辑之前,我们需要设计游戏的基本布局。使用 Python 创建方形格网相当容易,方法是:
每个迭代中显示的网格类似于下图:
Minesweeper Layout
符号表示该单元格中存在“地雷”。我们可以清楚地看到,网格上的任何数字都表示相邻“八”单元格中的地雷数量。
像这样的变量的使用将在教程中进一步解释。
任何游戏最重要的部分之一就是支持输入法。在我们的扫雷版本中,我们将使用行号和列号作为输入技术。
在开始游戏之前,脚本必须为玩家提供一组指令。我们的游戏打印如下。
Minesweeper Instructions
与网格一起显示的行号和列号对我们的输入系统很有帮助。众所周知,在没有任何指标的情况下跟踪地雷是很困难的。因此,扫雷有一个规定,使用’标志’来标记细胞,我们知道其中含有地雷。
对于单个扫雷游戏,我们需要跟踪以下信息:
- 网格的大小。
- 第号地雷。
- “实际”网格值–在游戏开始时,我们需要一个容器来存储游戏的真实值,玩家不知道。例如,地雷的位置。
- “明显的”网格值–每次移动后,我们需要更新所有必须显示给玩家的值。
- 标记位置–已经标记的单元格。
这些值使用以下数据结构存储
《扫雷》的游戏逻辑没有太多。所有的努力都是为了设置扫雷艇的布局。
我们需要随机设置地雷的位置,这样玩家就不会预测它们的位置。这可以通过以下方式实现:
在代码中,我们从网格中所有可能的单元格中选择一个随机数。我们一直这样做,直到我们得到所说的地雷数量。
**注:**地雷的实际值储存为-1,而储存用于显示的值,用表示地雷。
注意:【randint】功能只有在导入随机库后才能使用。这是通过在程序开始时写来完成的。
对于网格中的每个单元,我们必须检查所有相邻的单元是否存在地雷。这通过以下方式实现:
这些值对玩家是隐藏的,因此它们存储在变量中。
游戏循环是游戏中非常关键的部分。它需要更新玩家的每个动作以及游戏的结论。
在循环的每一次迭代中,扫雷网格必须显示,玩家的移动也必须处理。
正如我们之前提到的,有两种玩家输入:
标准输入
在正常的移动中,会提到行号和列号。玩家此举背后的动机是解锁一个没有地雷的细胞。
标志输入
在标记移动中,玩家发送了三个值。前两个值表示单元格位置,而最后一个值表示标记。
存储输入后,为了游戏的顺利运行,我们必须做一些健全性检查。
输入过程完成后,行号和列号将被提取并存储在和中。
管理标志输入不是一个大问题。它要求在标记矿井的单元之前检查一些先决条件。
必须进行以下检查:
- 该单元格是否已被标记。
- 要标记的单元格是否已经向玩家显示。
- 旗帜的数量不超过地雷的数量。
在解决了这些问题之后,该单元被标记为地雷。
标准输入包括游戏的整体功能。有三种不同的情况:
在水雷上抛锚
一旦玩家选择了一个有地雷的格子,游戏就结束了。这可能是运气不好或判断失误造成的。
当我们降落到一个有地雷的单元后,我们需要显示游戏中所有的地雷,并改变游戏循环背后的变量。
函数对此负责。
访问“0”值的单元格。
创建游戏最棘手的部分是管理这个场景。每当玩家访问“0”值的单元时,必须显示所有相邻的元素,直到到达非零值的单元。
这个目的是利用 递归 实现的。递归是一种编程工具,其中函数调用自己,直到基本情况得到满足。函数是一个递归函数,解决了我们的问题。
对于这个游戏的特殊概念,使用了一个新的数据结构,即。的作用是在递归过程中跟踪已经访问过的单元。没有这些信息,递归将永远继续下去。
在显示了所有零值单元格及其相邻单元格之后,我们可以转到最后一个场景。
选择非零值单元格
处理这种情况不需要任何努力,因为我们需要做的只是改变显示值。
有一个要求,检查游戏的完成,每次移动。这通过以下方式实现:
函数,负责检查游戏的完成情况。
我们计算非空或未标记的细胞数量。当这个计数等于除了含有地雷的细胞之外的总细胞数时,则游戏被视为结束。
随着我们不断地在终端上打印东西,终端变得拥挤。因此,必须有不断清除它的规定。这可以通过以下方式实现:
**注意:**在使用该功能之前,需要导入库。可以通过程序开始时的来完成。
下面是扫雷游戏的完整代码:
我们希望这个关于创建我们自己的扫雷游戏的教程既有趣又易懂。如有任何疑问,欢迎在下面评论。我的 Github 账户上也有完整的代码。
原文:https://www.askpython.com/python/examples/create-safer-passwords
你好,编码员们!在本教程中,我们将创建一个 python 程序,使您的密码更加安全可靠。
我们都知道,创建一个强大的密码在一个人的生活中起着重要的作用,以保持您的帐户和个人信息的安全,并防止它落入坏人之手。
简单的密码很容易被破解,所以我们需要让我们的密码难以破解。在这个应用程序中,我们将使用不同的特殊符号替换一串字符,例如$、& 、@、0、1、|,等等,以使您的密码难以破解。
该应用程序将您的密码作为用户的输入,然后用提到的特殊符号替换其字符,然后为用户打印新的更强密码的输出。
为了使密码更加安全,我们将首先创建一个映射,存储需要替换的字符和特殊符号。
在下一步中,将创建一个函数,该函数将对用户输入的密码进行所有替换,然后返回更安全的密码。
上面给出的代码将返回一个更安全的密码,同样的情况可以在下面给出的两个输出中看到。
您可以根据自己的喜好用更多的符号或数字来替换字符,并使密码更难破解。我希望您喜欢这个简单的应用程序。
感谢您的阅读!
原文:https://www.askpython.com/python-modules/create-table-if-not-exists-sqlite3
嘿,Python 爱好者(特别是程序员😂不是贪吃蛇的人)这里我们讨论和实现一个新的主题:-“Sqlite-使用 Python 创建不存在的表”。
现在我们都知道一个非常著名的 SQLite 插件 sqlite3,它与默认的 Python 环境协作。这有助于我们制作实时应用程序,然后将它们连接到数据库,而无需使用本地主机或在线服务器。
我们可以称之为 SQLite3,它是一种无需任何配置设置就可以在本地机器上运行的应用程序。因此,为了使事情变得简单,我们将编写一个脚本来检查该表是否存在。如果它不存在,它会自动为我们创建一个。这就像制造一个智能工具。所以,让我们去争取吧!
也读作:检查表格是否存在——Python SQLite3
创建一个名为 Table Creation 的文件夹,然后在同一文件夹的一个文件中添加以下代码。
代码:
输出:
我们创建了一个包含学生数据表**“stud _ data”**的学校数据库。该表有四列:**卷号、姓名、班级和部门。**当我们在 SQLite studio 中将它可视化时,它看起来是这样的:
Visualizing The table in the studio
删除表格
我们将特意删除该表,然后创建我们的智能脚本。
删除表格的代码:
DROP TABLE “table_name” 查询删除表。确保添加各自的表名。
输出:
创建和删除表的完整代码
这一部分包含的主要脚本将检查该表是否存在于数据库中。如果出现这种情况,则会创建一个具有相同名称和参数的新表。
代码:
输出:
说明:
- 我们定义了两个 try 块。第一个检查一个表是否存在。如果不是,If 条件跳转到新的 try 块,为我们创建一个新表。
- 在第一个 try 块中:使用 SQLite 查询: “SELECT * FROM table_name” 将尝试从表中获取所有的行和列。
- 如果表不存在,try 块抛出 sqlite。操作错误。except 块处理它。它下面的 if() 语句打开第二个 try-except 块。
- 然后,第二个 try 语句完成用相同的参数创建新表的任务。
- except 块使用 sqlite 检查任何常见错误。Error() 方法并处理它。
- 代码的第二部分只是执行一个查询,创建一个新表 stud_data 并将其插入到我们的数据库中。
这是我们检查 SQLite 数据库中是否存在表的方法。建议在实现解决方案之前理解代码是如何工作的。感谢阅读。
原文:https://www.askpython.com/python-modules/creating-a-python-module
那么,你学习 Python 已经有一段时间了。作为初学者,通常的做法是编写一个单文件程序,使用类和函数来组织所有代码。
但是随着你越来越高级,你的代码越来越复杂,你需要学习使用多个文件。
Python 模块是一个 Python 文件,其中包含您希望包含在应用程序中的类、方法或变量。
在高级 Python 应用程序中,常见的做法是将可重用的函数或类组合在一个文件中,然后导入程序的其他部分。
Python Module Example 1
这被称为 Python 模块。然后可以导入该模块,变量和函数可以多次重用,而不必每次都声明或创建它们。
[目录]
这很简单,但我们将把它分解成小块,以便您理解它,并能够在现实世界中应用它。
1.创建包含方法的文件
我们将首先创建一个基本方法,它将两个数字相加,并接受这两个数字作为参数。
这是我们的模块。上面的代码只是一个返回传递给它的两个数之和的方法。将上面的代码保存为,我们将进入下一步。
2.创建主文件以导入模块
我们的下一步是在程序中导入定制的 python 模块。现在,这与导入任何其他模块完全相同。
唯一的区别是模块文件位于本地,而不是在系统路径中。
This is the output that we’ll receive when the above program is run
在上面的例子中,我已经导入了我们的“加法器”文件。不需要加上**”。py"** 导入时的扩展名。
3.仅导入一个函数
假设在我们的模块中,我们有多个函数执行多个任务。但是在我们导入模块的程序中,我们只需要这些函数中的一个。没有必要导入整个模块。
在这种情况下,我们可以一起使用和 。
Importing the function individually gives us the same output
正如您所看到的,由于我们正在导入一个特定的函数,Python 允许我们使用该函数,就像它是文件的原生函数一样,而不必用模块名来引用它。
4.使用我们模块中的变量
您可能已经注意到了我们模块中的两个变量。我们添加这些是为了演示如何从模块中直接导入变量,而不改变它们的值。
Importing variables from modules
您不需要将模块存储在与主文件相同的文件夹中。如果有很多文件,那会变得很不方便。
此外,如果你把一个模块导入到不同的程序中,使用这个模块会很困难。
相反,您可以在文件夹中组织模块,并且仍然以与以前相同的方式导入它们。我们只需对 import 语句做一点小小的修改,其他一切都会运行良好。
有多种方法可以导入程序中不在根目录下的模块。让我们从简单的开始。
1.通过指定文件夹名称导入
我们上面使用的点符号或 可以用来导入位于一个目录中的模块。让我们将“adder.py”模块放在名为 modules 的目录中。
Modules In Directory 1
在这个例子中,我们使用作为,将我们的模块名从“modules.adder”重命名为“adder”。
这样做的原因是,在没有重命名的情况下,每次我们需要从模块中调用函数时,我们都必须指定“modules.adder.add(5,10)”等等。
我们不需要在语句中重命名模块。我们也可以稍后在程序中创建一个保存模块名称的变量,并使用该变量调用模块中的函数。
这也可以,但是在程序开始的时候声明新的名字可以提高代码的可读性,让下一个程序员更容易处理你的代码。
另一种方法是使用 from…导入。这使我们不必为了在程序中使用而重命名模块。我需要对导入命令做的唯一改变是使用模块导入加法器中的
2.将路径追加到 sys.path
当导入模块时,Python 首先查看预定义的路径,以找到与名称匹配的模块。它查找的第一个目录是当前目录,之后它移动到其他列出的目录。
让我们把 sys.path 打印出来,看看 Python 在研究哪些路径。
**
Sys Path In Python Linux**
上面的输出是在 Linux 计算机上生成的。如果您使用的是 Windows 电脑,您将获得不同的路径列表。
因为 sys.path 是一个 Python 列表,所以我们可以向它追加路径。
我们导入了 sys 模块,并将我们的“模块”目录附加到它上面。因此,任何时候你需要在这个程序的 modules 目录中导入一个模块,你可以简单地指定名称,然后你就可以开始工作了。
3.使模块在系统范围内可用
我们在上面的例子中打印出了 sys.path。我们知道 Python 会默认查看这些目录,不管你的代码放在哪里。
如果我们将我们的模块移动到这些目录中的一个,您将可以很容易地从您将来在计算机上创建的任何程序中访问该模块。
请注意,当将程序移植到不同的系统时,您将需要复制该模块。所以对于特定于程序的模块,最好将它们组织在父目录中的文件夹中,并从那里导入。
现在,您应该能够用 Python 创建自定义模块并编写多文件程序。请记住,使用类将代码组织在多个文件中对于代码的可重用性来说是一个更好的选择。
您现在需要的许多功能在未来的应用程序中也会有用,您创建的这些单独的模块只需导入即可,这样在高级应用程序中可以节省您的工作时间。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/42280.html