Bahasa Python telah menjadi popular sejak beberapa tahun kebelakangan ini kerana kami boleh menggunakannya untuk menulis kurang kod untuk melaksanakan fungsi yang kompleks. Komuniti pembangun Python mengalu-alukan kit alat yang merangkumi pelaksanaan yang kompleks tetapi mesra pengguna.
Walau bagaimanapun, kesederhanaan Python tidak berakhir di situ. Bolehkah anda percaya bahawa kami boleh menggunakan Python tanpa menulis sebarang kod? Dalam artikel berikut, saya akan memperkenalkan 8 contoh menggunakan ciri terbina dalam Python tanpa menulis sebarang kod.
Mari mulakan dengan Python CLI (Antara Muka Baris Perintah). Walaupun kita tidak perlu menulis kod untuk menggunakan ciri yang diterangkan kemudian, untuk Python mengetahui perkara yang ingin kita laksanakan, kita perlu melakukannya menggunakan baris arahan Python.
Selagi persekitaran Python dipasang pada komputer kita, kita boleh memasukkan python --help dalam antara muka baris arahan Python untuk memaparkan semua parameter yang disokong.
Oleh kerana output arahan terlalu panjang, hanya sebahagian daripada kandungan ditunjukkan dalam gambar di atas. Perkara yang paling penting untuk ditekankan di sini ialah parameter mod -m, yang akan menjalankan modul Python sebagai skrip. Oleh itu, jika pelaksanaan modul menyokong operasi baris arahan, kita boleh menggunakannya terus dari baris arahan. Seterusnya mari kita mengalaminya:)
Kadang-kadang, kami ingin menguji trafik rangkaian keluar port ip, biasanya arahan telnet adalah pilihan yang baik. Perisian Telnet tidak dipasang secara lalai pada platform Windows dan perlu dipasang secara manual sebelum digunakan. Jika ia hanya untuk ujian mudah dan tidak banyak senario penggunaan masa hadapan, memasangnya mungkin membazir sumber.
Walau bagaimanapun, jika Python dipasang, tidak perlu memuat turun dan memasang telnet, kerana Python mempunyai modul terbina dalam sepadan dengan telnet. Kami boleh menguji port 443 tapak carian Google.
python -m telnetlib -d 142.250.70.174 443
Seperti yang anda lihat dalam imej di atas, trafik rangkaian kelihatan normal dan kami juga menerima respons aksara nol daripada Google. Jika kita cuba mengakses port rawak ip, ralat akan dilemparkan seperti yang ditunjukkan dalam imej di bawah.
python -m telnetlib -d 142.250.70.174 999
Ramai pengguna Python tidak mengetahui perkara ini dan akan terkejut apabila mendengarnya buat kali pertama. masa. Ya, kita boleh memulakan perkhidmatan web menggunakan Python tanpa menulis sebarang kod, cuma laksanakan arahan berikut pada baris arahan seperti berikut.
python -m http.server
Selepas berjalan, ia ditunjukkan bahawa perkhidmatan sedang mendengar port tempatan 8000. Kemudian, kita boleh cuba mengakses http://localhost:8000/ daripada pelayar.
Perkhidmatan web akan memaparkan sistem fail setempat di bawah laluan permulaan arahan sebagai direktori akar dengan kata lain, kami tidak boleh mengakses direktori induknya.
Anda mungkin bertanya, apakah senario penggunaan fungsi ini. Contohnya, jika anda ingin berkongsi banyak fail teks/PDF/imej/subdirektori dalam direktori tertentu pada komputer anda dengan rakan baik anda, maka anda boleh berkongsi dengan mudah menggunakan kaedah ini.
Jika anda ingin mengetahui lebih lanjut tentang topik ini, anda boleh merujuk artikel 3 Lines of Python Code to Write A Web Server. Jika anda mengikuti artikel di atas untuk melaksanakan penyelesaian "kod rendah", maka anda boleh menambah lebih banyak fungsi tersuai padanya.
Jika anda mempunyai rentetan JSON yang sangat panjang dan tidak berformat, ia akan menjadi sangat sukar untuk dibaca. Biasanya, saya menggunakan beberapa editor teks dengan pemalam JSON, seperti Sublime atau VS Code, untuk memformat rentetan JSON. Walau bagaimanapun, jika anda tidak mempunyai alatan ini, Python boleh digunakan buat sementara waktu. Sebagai contoh, rentetan JSON pendek ini akan dipaparkan di bawah.
echo '{"name": {"first_name":"Chris", "last_name":"Tao"} "age":33}'
可以看到,当前操作系统的命令行工具只能按照原字符串的原始格式进行展示。但是,如果借助 Python 的 json.tool工具,JSON 字符串就会被很好的格式化。
echo '{"name": {"first_name":"Chris", "last_name":"Tao"} "age":33}' | python -m json.tool
Oops!JSON 字符串无效,并且 json.tool 帮助我们定位了问题。我们在名称对象后面漏掉了一个逗号。所以添加逗号以使该 JSON 合法有效。
echo '{"name": {"first_name":"Chris", "last_name":"Tao"}, "age":33}' | python -m json.tool
现在,JSON 字符串具有了完美缩进的格式化输出!更加方便阅读。
你没看错,我们可以使用 Python 来”创建”一个文本编辑器。当然,它的功能非常有限,但是如果当前没有更好的选择,使用它会方便很多。另外,功能上肯定无法与 Vim 和 Nanos 相比,但是它完全是基于 UI 编辑器而不是命令行文本形式。这个编辑器由基于 Tkinter 实现的idlelib 模块创建,所以它是可以跨平台运行的。
假设我们要编写一个简单的 Python 程序来显示当前的时间,我想快速编写代码而不想下载和安装庞大的代码编辑工具。现在让我们运行下面这个命令。
mkdir get_time_apppython -m idlelib get_time_app/print_time.py
如果文件目录不存在,idlelib将无法创建,因此如果必要,我们需要创建一个。我们运行完这个命令之后,print_time.py 只有执行保存的情况下才会创建到本地。现在应该会弹出编辑器,我们可以在里面写一些代码, 可以看到代码是支持语法高亮的。
现在我们使用ctrl+s快捷键对编辑好的代码进行保存,并关闭编辑窗口。接下来使用命令行查看一下编辑好的代码文件进行验证,没有任何问题。
cat get_time_app/print_time.py
如果我们想要创建一个简单的应用,比如前面写的获取当前时间的应用程序,我们不必再需要像 PyInstaller 这样的第三方工具包,Python 内置的 Zipapp 就可以做到。假设我们要打包成一个"Get Time"的应用,我们可以在命令行运行下面的命令。
python -m zipapp get_time_app -m "print_time:main"
在该命令中,我们只需要给 zipapp设置get_time_app名称,指定 Python 程序的入口文件及其程序入口函数即可。以.pyz为扩展名的文件就是我们创建的应用程序,至此我们就可以将项目作为单个文件而不是文件夹进行分发。
该程序的启动方式也很简单,直接使用 Python 进行调用即可。
python get_time_app.pyz
通过 Python CLI,我们可以加密字符串或文件。我们以有趣的 ROT13 加密算法为例进行展示。ROT13 是一种偏移 13 位的凯撒密码,它的加密原理如下图所示。
我们可以使用 encodings.rot_13 来加密一个字符串,命令如下。
echo "I am Chris" | python -m encodings.rot_13
切记,不要将其用于任何真正的加密内容。因为英文有 26 个字母,所以再次运行这个算法我们可以很容易地破译这个加密字符串:)
echo 'V nz Puevf' | python -m encodings.rot_13
现在让我们尝试一个更常见的场景——base64 编码。我们可以对字符串进行 base64 编码,如下所示。
echo "I am Chris" | python -m base64
接下来,我们也可以使用-d参数对加密字符串进行解码。
echo "SSBhbSBDaHJpcwo=" | python -m base64 -d
base64 也经常用在对图像文件的编码和解码上。我们也可以对文件进行如下编码。
python -m base64 get_time_app/print_time.py
非常有趣的是,解码后的 Python 脚本可以即时执行,不会报错。。
echo "ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKCgpkZWYgbWFpbigpOgogICAgY3VycmVudF90aW1lID0gZGF0ZXRpbWUubm93KCkKICAgIHByaW50KGYnQ3VycmVudCB0aW1lIGlzIHtjdXJyZW50X3RpbWV9LicpCgoKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIG1haW4oKQo=" | python -m base64 -d | python
如果我们想获取当前的系统信息,Python 提供了一种非常简便的方法。我们只需要运行下面的命令即可。
python -m sysconfig
可以看到,这个命令执行后会显示所有的系统配置信息,比如 Python 环境路径和环境变量等。上面的截图仅仅展示了一部分内容,实际显示的内容会非常丰富。如果我们只想展示 Python 环境路径和当前工作路径,我们可以执行下面的命令。
python -m site
我们可以使用 Python 来压缩文件,而无需下载 tar/zip/gzip 等工具。举个例子,如果我们想压缩我们刚刚在第 4 节中编写的应用程序,我们可以运行以下命令将文件夹压缩到 zip 文件中。在命令中,选项 -c 代表的是“create”即创建的含义。
python -m zipfile -c get_time_app.zip get_time_app
当然,我们也可以对压缩文件进行解压。紧接这上面的操作,我们把文件夹解压出来放到一个新目录中,这样就不会和原来的目录冲突了。在下面的命令中,选项 -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
我们刚刚以 zip 文件为例进行了展示,Python 除了支持 zip 格式的解压缩以外,还支持 tar 和 gzip 的解压缩。
该篇文章中介绍了一种无需编写任何代码即可使用 Python 内置库的方法。如果在某些场景下能够想到使用这些方法,毫无疑问可以给我们提供很多的便利。希望这篇文章能够给大家带来启发和帮助。
Atas ialah kandungan terperinci Lapan cara untuk menggunakan perpustakaan terbina dalam Python tanpa menulis kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!