目次
1. Python CLI「-m」パラメータ
2. サービス ポート テスト
3. Web サービスをローカルで開始する
4. JSON 文字列の検証と書式設定
5. 创建文本编辑器
6. 创建可执行应用程序
7. 编码和解码字符串或文件
8. 获取系统元数据
9. 文件压缩
总结
ホームページ バックエンド開発 Python チュートリアル コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

Apr 12, 2023 am 10:55 AM
python コード 組み込みライブラリ

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

Python 言語を使用すると、複雑な関数を実装するためのコードを少なく記述できるため、近年人気が高まっています。 Python 開発者コミュニティは、複雑な実装をカプセル化しながらもユーザーフレンドリーなツールキットを歓迎しています。

ただし、Python のシンプルさはそれだけではありません。コードを書かずに Python を使用できるなんて信じられますか?次の記事では、コードを書かずに Python の組み込み機能を使用する 8 つの例を紹介します。

1. Python CLI「-m」パラメータ

Python CLI (コマンド ライン インターフェイス) から始めましょう。後で説明する機能を使用するためにコードを記述する必要はありませんが、実行したい内容を Python が認識するには、Python コマンド ラインを使用して実行する必要があります。

Python 環境がコンピューターにインストールされている限り、Python コマンド ライン インターフェイスで python --help と入力して、サポートされているすべてのパラメーターを表示できます。

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

コマンド出力は長すぎるため、上の図では内容の一部のみを示しています。ここで強調すべき最も重要なことは、Python モジュールをスクリプトとして実行する -m mod パラメーターです。したがって、モジュールの実装がコマンド ライン操作をサポートしている場合は、コマンド ラインから直接使用できます。次にそれを体験してみましょう:)

2. サービス ポート テスト

IP ポートのアウトバウンド ネットワーク トラフィックをテストしたい場合がありますが、通常は telnet コマンドが適切な選択です。 Telnet ソフトウェアは Windows プラットフォームにデフォルトではインストールされないため、使用する前に手動でインストールする必要があります。単純なテストだけを目的としており、今後の使用シナリオがそれほど多くない場合、インストールはリソースの無駄になる可能性があります。

ただし、Python がインストールされている場合は、Python には Telnet に対応するモジュールが組み込まれているため、Telnet をダウンロードしてインストールする必要はありません。 Google 検索サイトのポート 443 をテストできます。

python -m telnetlib -d 142.250.70.174 443
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

上の画像からわかるように、ネットワーク トラフィックは正常に見え、Google から null 文字の応答も受信しました。 IP のランダムなポートにアクセスしようとすると、以下の画像に示すようにエラーがスローされます。

python -m telnetlib -d 142.250.70.174 999
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

3. Web サービスをローカルで開始する

多くの Python ユーザーはこれを知らず、初めて聞くと驚かれるでしょう。はい、コードを書かずに Python を使用して Web サービスを開始できます。次のようにコマンド ラインで次のコマンドを実行するだけです。

python -m http.server
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

実行後、サービスがローカル ポート 8000 をリッスンしていることが表示されます。その後、http://localhost:8000/ へのアクセスを試行できます。ブラウザ。

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

Web サービスは、コマンド起動パスの下にあるローカル ファイル システムをルート ディレクトリとして表示します。つまり、その親ディレクトリにはアクセスできません。

この機能の使用シナリオは何なのかと疑問に思うかもしれません。たとえば、コンピュータ上の特定のディレクトリにある多数のテキスト/PDF/画像ファイル/サブディレクトリ ファイルを仲の良い友達と共有したい場合、この方法を使用すると非常に簡単に共有できます。

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

このトピックについて詳しく知りたい場合は、「Web サーバーを作成するための 3 行の Python コード」の記事を参照してください。上記の記事に従って「ローコード」ソリューションを実装すると、さらにカスタム機能を追加できます。

4. JSON 文字列の検証と書式設定

非常に長く、書式設定されていない JSON 文字列がある場合、非常に読みにくくなります。通常、Sublime や VS Code などの JSON プラグインを備えたテキスト エディターを使用して、JSON 文字列をフォーマットします。ただし、これらのツールが手元にない場合は、一時的に Python を使用できます。たとえば、この短い JSON 文字列は以下に表示されます。

rreeee

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

echo '{"name": {"first_name":"Chris", "last_name":"Tao"} "age":33}' | python -m json.tool
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

echo '{"name": {"first_name":"Chris", "last_name":"Tao"}, "age":33}' | python -m json.tool
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

现在,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 の組み込みライブラリを使用する 8 つの方法

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

cat get_time_app/print_time.py
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

6. 创建可执行应用程序

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

python -m zipapp get_time_app -m "print_time:main"
ログイン後にコピー

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

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

python get_time_app.pyz
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

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

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

echo "I am Chris" | python -m encodings.rot_13
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

echo 'V nz Puevf' | python -m encodings.rot_13
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

echo "I am Chris" | python -m base64
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

echo "SSBhbSBDaHJpcwo=" | python -m base64 -d
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

python -m base64 get_time_app/print_time.py
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

echo "ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKCgpkZWYgbWFpbigpOgogICAgY3VycmVudF90aW1lID0gZGF0ZXRpbWUubm93KCkKICAgIHByaW50KGYnQ3VycmVudCB0aW1lIGlzIHtjdXJyZW50X3RpbWV9LicpCgoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIG1haW4oKQo=" | python -m base64 -d | python
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

8. 获取系统元数据

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

python -m sysconfig
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

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

python -m site
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

9. 文件压缩

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

python -m zipfile -c get_time_app.zip get_time_app
ログイン後にコピー

コードを書かずに Python の組み込みライブラリを使用する 8 つの方法

当然,我们也可以对压缩文件进行解压。紧接这上面的操作,我们把文件夹解压出来放到一个新目录中,这样就不会和原来的目录冲突了。在下面的命令中,选项 -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 の組み込みライブラリを使用する 8 つの方法

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

总结

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

以上がコードを書かずに Python の組み込みライブラリを使用する 8 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語合計の機能は何ですか? C言語合計の機能は何ですか? Apr 03, 2025 pm 02:21 PM

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

H5ページの生産には継続的なメンテナンスが必要ですか? H5ページの生産には継続的なメンテナンスが必要ですか? Apr 05, 2025 pm 11:27 PM

H5ページは、コードの脆弱性、ブラウザー互換性、パフォーマンスの最適化、セキュリティの更新、ユーザーエクスペリエンスの改善などの要因のため、継続的に維持する必要があります。効果的なメンテナンス方法には、完全なテストシステムの確立、バージョン制御ツールの使用、定期的にページのパフォーマンスの監視、ユーザーフィードバックの収集、メンテナンス計画の策定が含まれます。

独特の目標は関連していますか? 独特の目標は関連していますか? Apr 03, 2025 pm 10:30 PM

明確で明確なものは区別に関連していますが、それらは異なる方法で使用されます。明確な(形容詞)は、物事自体の独自性を説明し、物事の違いを強調するために使用されます。明確な(動詞)は、区別の動作または能力を表し、差別プロセスを説明するために使用されます。プログラミングでは、個別は、重複排除操作などのコレクション内の要素の独自性を表すためによく使用されます。明確なは、奇数や偶数の偶数を区別するなど、アルゴリズムまたは関数の設計に反映されます。最適化する場合、異なる操作は適切なアルゴリズムとデータ構造を選択する必要がありますが、異なる操作は、論理効率の区別を最適化し、明確で読み取り可能なコードの書き込みに注意を払う必要があります。

Cで理解する方法!x? Cで理解する方法!x? Apr 03, 2025 pm 02:33 PM

!X理解!Xは、C言語の論理的な非操作者です。 Xの値をブーリングします。つまり、虚偽の真の変化、trueへの誤った変更です。ただし、Cの真実と虚偽はブール型ではなく数値で表されていることに注意してください。非ゼロは真であると見なされ、0のみが偽と見なされます。したがって、!xは正の数と同じ負の数を扱い、真実と見なされます。

c言語でsumとはどういう意味ですか? c言語でsumとはどういう意味ですか? Apr 03, 2025 pm 02:36 PM

Cには組み込みの合計関数はありませんが、次のように実装できます。ループを使用して要素を1つずつ蓄積します。ポインターを使用して、要素に1つずつアクセスして蓄積します。大量のデータ量については、並列計算を検討してください。

PSが荷重を見せ続ける理由は何ですか? PSが荷重を見せ続ける理由は何ですか? Apr 06, 2025 pm 06:39 PM

PSの「読み込み」の問題は、リソースアクセスまたは処理の問題によって引き起こされます。ハードディスクの読み取り速度は遅いか悪いです。CrystaldiskInfoを使用して、ハードディスクの健康を確認し、問題のあるハードディスクを置き換えます。不十分なメモリ:高解像度の画像と複雑な層処理に対するPSのニーズを満たすためのメモリをアップグレードします。グラフィックカードドライバーは時代遅れまたは破損しています:ドライバーを更新して、PSとグラフィックスカードの間の通信を最適化します。ファイルパスが長すぎるか、ファイル名に特殊文字があります。短いパスを使用して特殊文字を避けます。 PS独自の問題:PSインストーラーを再インストールまたは修理します。

58.com作業ページでリアルタイムアプリケーションと視聴者のデータを取得する方法は? 58.com作業ページでリアルタイムアプリケーションと視聴者のデータを取得する方法は? Apr 05, 2025 am 08:06 AM

クロール中に58.com作業ページの動的データを取得するにはどうすればよいですか? Crawlerツールを使用して58.comの作業ページをrawったら、これに遭遇する可能性があります...

See all articles