目录[隐藏][展示]
本讲座将向您介绍一些高级 Python 概念,例如使用目录和 Django。
Python 中的目录
在 Python 3 模块索引中,您可以看到我们有一个名为 pathlib
它提供面向对象的文件系统路径。 它提供了我们可以用来创建对象以处理目录和文件的类。
如果你打开它,你可以看到这个模块是如何工作的。
您可以像这样导入模块:
from pathlib import Path
Path
是这里的类。 现在我们需要创建一个路径对象来引用我们计算机上的文件或目录。 有两种方法可以做到这一点。 我们可以使用绝对路径或相对路径。 绝对路径是指您必须定义从硬盘根目录开始的路径,而相对路径是指从当前目录开始的路径。
Windows 和 Mac 中的绝对路径就像 c:\program files\windows\
和 /usr/local/bin
。
在定义了模块和类之后,我们需要创建一个路径对象。
Path()
如果您不在此处传递参数,这将引用当前目录。 或者,我们可以传递一个字符串,我们可以在其中添加文件或目录。 让我们说 ecommerce
目录。
Path("eCommerce")
现在,这将返回一个路径对象。 让我们将它存储在路径中
path = Path("eCommerce")
首先,这个路径对象有一些有趣的方法。
例如,我们可以使用 exist
检查路径是否存在的方法。 这将返回一个布尔值,所以让我们在终端上打印它.
如果目录“eCommerce
”不存在,我们会得到一个假的。 在这种情况下,我们可以使用 mkdir
制作目录的方法。 让我们创建一个目录“email
”通过这种方法。
from pathlib import Path
path = Path("email")
path.mkdir()
这只返回目录 email
将在您的项目面板中创建。 我们也可以通过删除这个目录 rmdir
方法,这是“删除目录”的缩写。
编写一个简洁的程序来自动化一些事情是非常有用的。 例如,您可以遍历目录中的所有电子表格,打开它们并进行处理。 我来给你展示。
为此,切换到默认目录并使用 glob
方法。 该方法可以搜索当前路径下的文件和目录。 我们需要传递一个定义搜索模式的字符串。 我们可以键入一个星号,表示所有内容、所有文件和所有目录。 可选地,可以添加扩展。 你可以输入 ("*.*")
获取当前目录下的所有文件。 我们还可以像这样搜索所有的 excel 文件:
from pathlib import Path
path = Path()
print(path.glob("*.xls"))
让我们以类似的方式搜索所有 .py 文件。
运行程序会得到一个生成器对象。 这些是高级的 Python 概念,但你需要知道 我们可以迭代 或循环遍历这些生成器对象。 让我们使用 for 循环迭代它,而不是打印这个生成器对象。
from pathlib import Path
path = Path()
for file in path.glob("*.py")):
print(file)
让我们运行这个程序:
它将列出当前目录中的所有 Python 文件。 类似地,运行当前路径中仅带星号的程序将列出当前目录中的所有文件。
PyPi 和 Pip
尽管 Python 的标准库很全面并且有几个用于常见任务的模块,但它无论如何都不完整。 这就是为什么我们有一个目录叫做 蟒蛇包 索引或 PyPI。 在这个目录中,您可以找到数百个包来做一些很棒的事情。 这些是像你我这样的人作为我们项目的一部分构建的包,然后他们将它们发布为这个目录的一部分供其他人使用。
这就是惊人的好处 Python社区,因为有大量的python开发者 在那里,他们已经开发了几个包供我们在我们的程序中重用。
假设您想在程序中发送文本消息。 您不必从头开始构建此功能,您可以访问 pypi.org 并搜索 SMS。
如您所见,数百个项目或包为您提供了此功能。 并非每个包或项目都是完整的或没有错误的。 其中一些仍在开发中,或者它们可能存在错误,但如果您四处寻找任何功能,您可以想象有一个好的、可靠的、文档齐全的包适合您。
要从 pypi.org 安装包,您必须在终端窗口中键入命令。 pip 是 Python 安装自带的工具,我们用它来安装或卸载在 pypi.org 上注册的包。 现在我们可以导入这个包了; 它的模块就像 Python 中的内置模块或我们项目中的模块一样。
最后总结!
我希望你现在已经理解了 Python 的基本概念。 你现在可以随心所欲地练习 Python,正如“熟能生巧”。
我建议你在学习高级 Python 之前先掌握这门课程。 这门 Python 课程可以扩展到学习数据分析、机器学习、Web 开发或 Python 的任何其他领域。 祝大家在编程生涯中一切顺利。
继续编码!
发表评论