최근 Python 언어가 인기를 얻은 이유는 Python을 사용하면 복잡한 기능을 구현하는 데 필요한 코드를 덜 작성할 수 있기 때문입니다. Python 개발자 커뮤니티는 복잡한 구현을 캡슐화하지만 사용자 친화적인 툴킷을 환영합니다.
그러나 Python의 단순성은 여기서 끝나지 않습니다. 코드를 작성하지 않고도 Python을 사용할 수 있다는 것을 믿을 수 있습니까? 다음 글에서는 코드를 작성하지 않고도 Python의 내장 기능을 사용하는 8가지 예제를 소개하겠습니다.
Python CLI(명령줄 인터페이스)부터 시작해 보겠습니다. 나중에 설명하는 기능을 사용하기 위해 코드를 작성할 필요는 없지만 Python이 실행하려는 항목을 알기 위해서는 Python 명령줄을 사용하여 이를 수행해야 합니다.
Python 환경이 컴퓨터에 설치되어 있으면 Python 명령줄 인터페이스에 python --help를 입력하여 지원되는 모든 매개변수를 표시할 수 있습니다.
명령 출력이 너무 길어서 위 그림에는 내용의 일부만 표시되어 있습니다. 여기서 강조해야 할 가장 중요한 것은 Python 모듈을 스크립트로 실행하는 -m mod 매개변수입니다. 따라서 모듈 구현이 명령줄 작업을 지원하는 경우 명령줄에서 직접 사용할 수 있습니다. 다음으로 경험해 보겠습니다 :)
때때로 IP 포트의 아웃바운드 네트워크 트래픽을 테스트하고 싶을 때가 있는데, 일반적으로 telnet 명령이 좋은 선택입니다. Telnet 소프트웨어는 Windows 플랫폼에 기본적으로 설치되지 않으며 사용하기 전에 수동으로 설치해야 합니다. 단순한 테스트용이고 향후 사용 시나리오가 많지 않은 경우 설치하는 것은 리소스 낭비일 수 있습니다.
그러나 Python이 설치되어 있으면 Python에는 Telnet에 해당하는 모듈이 내장되어 있으므로 Telnet을 다운로드하여 설치할 필요가 없습니다. Google 검색 사이트의 포트 443을 테스트할 수 있습니다.
python -m telnetlib -d 142.250.70.174 443
위 그림에서 볼 수 있듯이 네트워크 트래픽은 정상적으로 나타나고 Google로부터 null 문자 응답까지 받았습니다. 해당 IP의 임의의 포트에 접근하려고 하면 아래 이미지와 같이 오류가 발생합니다.
python -m telnetlib -d 142.250.70.174 999
많은 Python 사용자는 이 내용을 모르고 처음 들으면 놀라실 것입니다. 예, 코드를 작성하지 않고도 Python을 사용하여 웹 서비스를 시작할 수 있습니다. 다음과 같이 명령줄에서 다음 명령을 실행하면 됩니다.
python -m http.server
실행 후 서비스가 로컬 포트 8000을 수신하고 있는 것으로 표시됩니다. 그런 다음 브라우저에서 http://localhost:8000/에 액세스해 볼 수 있습니다.
웹 서비스는 명령 시작 경로 아래에 로컬 파일 시스템을 루트 디렉터리로 표시합니다. 즉, 상위 디렉터리에 액세스할 수 없습니다.
이 기능의 사용 시나리오가 무엇인지 물어볼 수 있습니다. 예를 들어, 컴퓨터의 특정 디렉터리에 있는 많은 텍스트/PDF/이미지 파일/하위 디렉터리 파일을 좋은 친구들과 공유하고 싶다면 이 방법을 사용하면 매우 쉽게 공유할 수 있습니다.
이 주제에 대해 더 알고 싶다면 웹 서버를 작성하기 위한 3줄의 Python 코드 문서를 참조하세요. 위의 문서에 따라 "로우 코드" 솔루션을 구현하면 더 많은 사용자 지정 기능을 추가할 수 있습니다.
JSON 문자열이 매우 길고 형식이 지정되지 않은 경우 읽기가 매우 어렵습니다. 일반적으로 저는 Sublime 또는 VS Code와 같은 JSON 플러그인이 포함된 일부 텍스트 편집기를 사용하여 JSON 문자열 형식을 지정합니다. 그러나 이러한 도구가 없으면 Python을 일시적으로 사용할 수 있습니다. 예를 들어, 이 짧은 JSON 문자열이 아래에 표시됩니다.
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 内置库的方法。如果在某些场景下能够想到使用这些方法,毫无疑问可以给我们提供很多的便利。希望这篇文章能够给大家带来启发和帮助。
위 내용은 코드를 작성하지 않고도 Python 내장 라이브러리를 사용하는 8가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!