展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > 八种使用 Python 内置库而无需编写代码的方法

八种使用 Python 内置库而无需编写代码的方法

近几年Python语言之所以流行,是因为我们可以使用它编写更少的代码来实现复杂的功能。Python开发者社区非常欢迎那些封装了复杂实现但是对使用者十分友好的工具包。然而,Python的简便性不止如此。你能相信我们可以在不写任何代码的情况下使用Python吗?在接下来的文章中,我会介绍8个无需编写任何代码即可使用Python内置功能的例子。1.PythonCLI“-m”参数我们首先从PythonCLI(命令行界面)开始谈起。虽然我们不必编写代码来使用稍后介绍的功能,但是为了让

本文目录

    八种使用 Python 内置库而无需编写代码的方法

    近几年 Python 语言之所以流行,是因为我们可以使用它编写更少的代码来实现复杂的功能。Python 开发者社区非常欢迎那些封装了复杂实现但是对使用者十分友好的工具包。

    然而,Python 的简便性不止如此。你能相信我们可以在不写任何代码的情况下使用 Python 吗?在接下来的文章中,我会介绍 8 个无需编写任何代码即可使用 Python 内置功能的例子。

    1. Python CLI “-m”参数

    我们首先从 Python CLI(命令行界面)开始谈起。虽然我们不必编写代码来使用稍后介绍的功能,但是为了让 Python 知道我们要执行的内容,我们需要使用 Python 命令行来进行操作。

    只要我们的电脑上安装了 Python 环境,我们就可以在 Python 命令行界面输入python --help显示所有支持的参数。

    八种使用 Python 内置库而无需编写代码的方法

    由于命令输出的内容太长,上图仅显示了部分内容。这里最想强调的是-m mod参数,它会将 Python 模块以脚本的形式运行。因此,如果该模块的实现支持命令行操作,我们就可以在命令行直接使用它。接下来就让我们体验一下:)

    2. 服务端口测试

    有时候,我们想测试 ip 端口的出站网络流量,通常 telnet 命令是一个不错的选择。在 Windows 平台上默认没有安装 telnet 软件,使用前需要手动安装。如果只是进行简单的测试,未来使用场景也不多,安装它可能是一种资源浪费。

    但是,如果安装了 Python,那就不必下载安装 telnet,因为 Python 内置了 telnet 对应的模块。我们可以对 Google 搜索网站的 443 端口进行测试。

    python -m telnetlib -d 142.250.70.174 443

    八种使用 Python 内置库而无需编写代码的方法

    如上图所示,网络流量显示正常,我们甚至收到了来自 Google 空字符的响应。如果我们尝试访问 ip 的随机一个端口,则会抛出错误,如下图所示。

    python -m telnetlib -d 142.250.70.174 999

    八种使用 Python 内置库而无需编写代码的方法

    3. 本地启动 web 服务

    很多 Python 使用者不知道这一点,当第一次听说后会感到惊讶。是的,我们可以使用 Python 启动 web 服务,而无需编写任何代码,只需按如下方式在命令行执行如下命令。

    python -m http.server

    八种使用 Python 内置库而无需编写代码的方法

    运行后,显示该服务监听了本地的 8000 端口,然后,我们就可以尝试从浏览器进行访问 http://localhost:8000/。

    八种使用 Python 内置库而无需编写代码的方法

    该 web 服务会以根目录的形式展示在命令启动路径下的本地文件系统,换句话说,我们无法访问它的父级目录。

    你可能会问,这个功能的使用场景是什么。举一个例子,如果你想跟你的好伙伴们分享你电脑某个目录下的许多文本/PDF/图像文件/子目录文件等,那么使用这个方法就可以非常轻松地进行共享了。

    八种使用 Python 内置库而无需编写代码的方法

    如果你想知道更多关于这个话题的内容,可以参考3 Lines of Python Code to Write A Web Server这篇文章。如果你按照上面的文章实现了一个“低代码”的解决方案,那么就可以向它添加更多的自定义功能了。

    4. 验证及格式化 JSON 字符串

    如果你有一个非常长且未经格式化的 JSON 字符串,那么阅读起来会非常困难。通常,我会使用一些带有 JSON 插件的文本编辑器,比如 Sublime 或者 VS Code,来格式化 JSON 字符串。但是,如果手头没有这些工具,Python 可以临时一用。比如下面会以这个简短的 JSON 字符串进行展示。

    echo '{"name": {"first_name":"Chris", "last_name":"Tao"} "age":33}'

    八种使用 Python 内置库而无需编写代码的方法

    可以看到,当前操作系统的命令行工具只能按照原字符串的原始格式进行展示。但是,如果借助 Python 的 json.tool工具,JSON 字符串就会被很好的格式化。

    echo '{"name": {"first_name":"Chris", "last_name":"Tao"} "age":33}' | python -m json.tool

    八种使用 Python 内置库而无需编写代码的方法

    Oops!JSON 字符串无效,并且 json.tool 帮助我们定位了问题。我们在名称对象后面漏掉了一个逗号。所以添加逗号以使该 JSON 合法有效。

    echo '{"name": {"first_name":"Chris", "last_name":"Tao"}, "age":33}' | python -m json.tool

    八种使用 Python 内置库而无需编写代码的方法

    现在,JSON 字符串具有了完美缩进的格式化输出!更加方便阅读。

    5. 创建文本编辑器

    你没看错,我们可以使用 Python 来”创建”一个文本编辑器。当然,它的功能非常有限,但是如果当前没有更好的选择,使用它会方便很多。另外,功能上肯定无法与 Vim 和 Nanos 相比,但是它完全是基于 UI 编辑器而不是命令行文本形式。这个编辑器由基于 Tkinter 实现的idlelib 模块创建,所以它是可以跨平台运行的。

    假设我们要编写一个简单的 Python 程序来显示当前的时间,我想快速编写代码而不想下载和安装庞大的代码编辑工具。现在让我们运行下面这个命令。

    mkdir get_time_apppython -m idlelib get_time_app/print_time.py

    如果文件目录不存在,idlelib将无法创建,因此如果必要,我们需要创建一个。我们运行完这个命令之后,print_time.py 只有执行保存的情况下才会创建到本地。现在应该会弹出编辑器,我们可以在里面写一些代码, 可以看到代码是支持语法高亮的。

    八种使用 Python 内置库而无需编写代码的方法

    现在我们使用ctrl+s快捷键对编辑好的代码进行保存,并关闭编辑窗口。接下来使用命令行查看一下编辑好的代码文件进行验证,没有任何问题。

    cat get_time_app/print_time.py

    八种使用 Python 内置库而无需编写代码的方法

    6. 创建可执行应用程序

    如果我们想要创建一个简单的应用,比如前面写的获取当前时间的应用程序,我们不必再需要像 PyInstaller 这样的第三方工具包,Python 内置的 Zipapp 就可以做到。假设我们要打包成一个"Get Time"的应用,我们可以在命令行运行下面的命令。

    python -m zipapp get_time_app -m "print_time:main"

    在该命令中,我们只需要给 zipapp设置get_time_app名称,指定 Python 程序的入口文件及其程序入口函数即可。以.pyz为扩展名的文件就是我们创建的应用程序,至此我们就可以将项目作为单个文件而不是文件夹进行分发。

    八种使用 Python 内置库而无需编写代码的方法

    该程序的启动方式也很简单,直接使用 Python 进行调用即可。

    python get_time_app.pyz

    八种使用 Python 内置库而无需编写代码的方法

    7. 编码和解码字符串或文件

    通过 Python CLI,我们可以加密字符串或文件。我们以有趣的 ROT13 加密算法为例进行展示。ROT13 是一种偏移 13 位的凯撒密码,它的加密原理如下图所示。

    八种使用 Python 内置库而无需编写代码的方法

    我们可以使用 encodings.rot_13 来加密一个字符串,命令如下。

    echo "I am Chris" | python -m encodings.rot_13

    八种使用 Python 内置库而无需编写代码的方法

    切记,不要将其用于任何真正的加密内容。因为英文有 26 个字母,所以再次运行这个算法我们可以很容易地破译这个加密字符串:)

    echo 'V nz Puevf' | python -m encodings.rot_13

    八种使用 Python 内置库而无需编写代码的方法

    现在让我们尝试一个更常见的场景——base64 编码。我们可以对字符串进行 base64 编码,如下所示。

    echo "I am Chris" | python -m base64

    八种使用 Python 内置库而无需编写代码的方法

    接下来,我们也可以使用-d参数对加密字符串进行解码。

    echo "SSBhbSBDaHJpcwo=" | python -m base64 -d

    八种使用 Python 内置库而无需编写代码的方法

    base64 也经常用在对图像文件的编码和解码上。我们也可以对文件进行如下编码。

    python -m base64 get_time_app/print_time.py

    八种使用 Python 内置库而无需编写代码的方法

    非常有趣的是,解码后的 Python 脚本可以即时执行,不会报错。。

    echo "ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKCgpkZWYgbWFpbigpOgogICAgY3VycmVudF90aW1lID0gZGF0ZXRpbWUubm93KCkKICAgIHByaW50KGYnQ3VycmVudCB0aW1lIGlzIHtjdXJyZW50X3RpbWV9LicpCgoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIG1haW4oKQo=" | python -m base64 -d | python

    八种使用 Python 内置库而无需编写代码的方法

    8. 获取系统元数据

    如果我们想获取当前的系统信息,Python 提供了一种非常简便的方法。我们只需要运行下面的命令即可。

    python -m sysconfig

    八种使用 Python 内置库而无需编写代码的方法

    可以看到,这个命令执行后会显示所有的系统配置信息,比如 Python 环境路径和环境变量等。上面的截图仅仅展示了一部分内容,实际显示的内容会非常丰富。如果我们只想展示 Python 环境路径和当前工作路径,我们可以执行下面的命令。

    python -m site

    八种使用 Python 内置库而无需编写代码的方法

    9. 文件压缩

    我们可以使用 Python 来压缩文件,而无需下载 tar/zip/gzip 等工具。举个例子,如果我们想压缩我们刚刚在第 4 节中编写的应用程序,我们可以运行以下命令将文件夹压缩到 zip 文件中。在命令中,选项 -c 代表的是“create”即创建的含义。

    python -m zipfile -c get_time_app.zip get_time_app

    八种使用 Python 内置库而无需编写代码的方法

    当然,我们也可以对压缩文件进行解压。紧接这上面的操作,我们把文件夹解压出来放到一个新目录中,这样就不会和原来的目录冲突了。在下面的命令中,选项 -e 代表“extract”即解压的含义。

    python -m zipfile -e get_time_app.zip get_time_app_extracted

    如果不放心,我们可以检验一下。

    ls get_time_app_extractedcat get_time_app_extracted/get_time_app/print_time.py

    八种使用 Python 内置库而无需编写代码的方法

    我们刚刚以 zip 文件为例进行了展示,Python 除了支持 zip 格式的解压缩以外,还支持 tar 和 gzip 的解压缩。

    总结

    该篇文章中介绍了一种无需编写任何代码即可使用 Python 内置库的方法。如果在某些场景下能够想到使用这些方法,毫无疑问可以给我们提供很多的便利。希望这篇文章能够给大家带来启发和帮助。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。