유용하지만 잘 알려지지 않은 다섯 가지 Python 모듈을 알고 계십니까?
Text
Python 표준 라이브러리에는 프로그래머가 프로그램에서 가져와 사용할 수 있는 200개 이상의 모듈이 있습니다. 일반 프로그래머는 이러한 모듈 중 다수에 대해 어느 정도 경험을 갖고 있지만 아직 인식하지 못하는 몇 가지 유용한 모듈이 있을 가능성이 높습니다.
이러한 모듈 중 상당수가 다양한 분야에서 매우 유용한 기능을 포함하고 있다는 것을 알았습니다. 데이터 세트 비교, 다른 기능과의 협업 및 오디오 처리는 모두 Python을 사용하여 자동화할 수 있습니다.
그래서 여러분이 모르실 수도 있는 Python 모듈의 후보 목록을 정리하고, 나중에 여러분이 이해하고 사용할 수 있도록 몇 가지 모듈에 대한 적절한 설명을 제공했습니다.
이 모든 모듈에는 서로 다른 기능과 클래스가 있습니다. 이 문서에는 잘 알려지지 않은 여러 함수와 클래스가 포함되어 있으므로 이러한 모듈에 대해 들어본 적이 있더라도 해당 모듈의 일부 측면과 용도를 알지 못할 수도 있습니다.
1. difflib
difflib는 데이터 세트(특히 문자열) 비교에 초점을 맞춘 Python 모듈입니다. 이 모듈로 수행할 수 있는 몇 가지 작업에 대한 구체적인 아이디어를 얻기 위해 가장 일반적인 기능 중 일부를 살펴보겠습니다.
SequenceMatcher
SequenceMatcher는 두 문자열을 비교하고 유사성에 따라 데이터를 반환하는 함수입니다. ratio()를 사용하면 이 유사성을 비율/백분율로 수량화할 수 있습니다.
구문:
1 |
|
다음의 간단한 예는 이 함수의 기능을 보여줍니다.
1 2 3 4 5 6 7 8 9 10 11 |
|
get_close_matches
다음은 매개변수로 전달된 문자열과 가장 가까운 일치 항목을 반환하는 get_close_matches입니다.
구문:
1 |
|
다음은 혼동될 수 있는 매개변수에 대한 설명입니다.
- word는 함수가 살펴볼 대상 단어입니다.
- 가능성은 함수가 찾아 가장 가까운 일치 항목을 찾는 일치 항목이 포함된 배열입니다.
- result_limit는 반환되는 결과 수에 대한 제한입니다(선택 사항).
- min_similarity는 함수에 의해 반환 값으로 간주되기 위해 두 단어가 가져야 하는 최소 유사성입니다(선택 사항).
사용 예는 다음과 같습니다.
1 2 3 4 5 |
|
이 외에도 Difflib에 속한 몇 가지 다른 메서드와 클래스를 확인할 수 있습니다: Unified_diff, Differ 및 diff_bytes
sched
sched. Windows의 작업 스케줄러와 같은 도구와 달리 크로스 플랫폼 작업을 위한 이벤트 예약을 중심으로 하는 유용한 모듈입니다. 이 모듈을 사용할 때 대부분의 경우 스케줄러 클래스를 사용하게 됩니다.
보다 일반적인 시간 모듈은 일반적으로 sched와 함께 사용됩니다. 둘 다 시간과 일정의 개념을 다루기 때문입니다.
예약 인스턴스 만들기:
1 |
|
이 인스턴스에서 다양한 메서드를 호출할 수 있습니다.
- run()이 호출되면 스케줄러의 이벤트/항목이 순서대로 호출됩니다. 이 기능은 일반적으로 이벤트 일정이 잡힌 후 프로그램이 끝날 때 나타납니다. 또한, 공개 계정인 리눅스를 검색하고 백그라운드에서 "git books"라고 답하면 깜짝 선물 패키지를 얻을 수 있다.
- enterabs()는 기본적으로 스케줄러의 내부 대기열에 이벤트를 추가하는 함수입니다. 다음 순서로 여러 매개변수를 받습니다.
- 이벤트 실행 시간
- 활동 우선순위
- 이벤트 자체(함수)
- 이벤트 함수의 매개변수
- 이벤트의 키워드 매개변수 사전
다음은 하나입니다. 이 두 함수를 함께 사용하는 방법의 예:
1 2 3 4 5 6 7 8 |
|
sched 모듈의 사용을 확장하는 여러 함수인 cancel(), enter() 및empty()도 있습니다.
3. binaascii
binaascii는 바이너리와 ASCII 간 변환을 위한 모듈입니다.
b2a_base64는 base64 데이터를 바이너리 데이터로 변환하는 binaascii 모듈의 메서드입니다. 다음은 이 접근 방식의 예입니다.
1 2 3 4 5 6 7 8 |
|
이 코드 부분은 설명이 필요합니다. 간단히 말해서, 인코딩하고, base64로 변환하고, b2a_base64 메서드를 사용하여 다시 바이너리로 변환하는 작업이 포함됩니다.
binaascii 모듈에 속하는 다른 함수는 다음과 같습니다: a2b_qp(), b2a_qp() 및 a2b_uu().
4.tty
tty는 tty 장치를 처리하는 데 사용할 수 있는 여러 유틸리티 기능이 포함된 모듈입니다. 다음은 두 가지 기능입니다.
- setraw()는 인수(fd)의 파일 설명자 모드를 raw로 변경합니다.
- setcbreak()는 인수(fd)의 파일 설명자 모드를 cbreak로 변경합니다.
위 두 함수에서 두 번째 매개변수(when=termios.TCSAFLUSH)를 지정하는 등 termios 모듈을 사용해야 하기 때문에 이 모듈은 Unix에서만 사용할 수 있습니다.
5.weakref
weakref는 Python에서 객체에 대한 약한 참조를 생성하는 모듈입니다.
약한 참조는 가비지 수집 메커니즘에 의해 수집되는 객체를 보호하지 않는 참조입니다.
다음은 이 모듈과 관련된 두 가지 기능입니다.
- getweakrefcount() 接受一个对象作为参数,并返回引用该对象的弱引用的数量。
- getweakrefs() 接受一个对象并返回一个数组,其中包含引用该对象的所有弱引用。
weakref 及其函数的使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
输出从输出的函数返回值我们可以看到它的作用。由于 num 没有弱引用,因此 getweakrefs() 返回的数组为空。扩展:接私活儿
以下是与 weakref 模块相关的一些其他函数:ref()、proxy() 和 _remove_dead_weakref()。
回顾
- Difflib 是一个用于比较数据集,尤其是字符串的模块。例如,SequenceMatcher 可以比较两个字符串并根据它们的相似性返回数据。
- sched 是与 time 模块一起使用的有用工具,用于使用 schedular 实例安排事件(以函数的形式)。例如,enterabs() 将一个事件添加到调度程序的内部队列中,该队列将在调用 run() 函数时运行。
binaascii 可在二进制和 ASCII 之间转换以编码和解码数据。b2a_base64 是 binaascii 模块中的一种方法,它将 base64 数据转换为二进制数据。
tty 模块需要配合使用 termios 模块,并处理 tty 设备。它仅适用于 Unix。
weakref 用于弱引用。它的函数可以返回对象的弱引用,查找对象的弱引用数量等。其中非常使用的函数之一是 getweakrefs(),它接受一个对象并返回一个该对象包含的所有弱引用的数组。
要点
这些函数中的每一个都有其各自的用途,每一个都有不同程度的有用性。了解尽可能多的 Python 函数和模块非常重要,以便保持稳定的工具库,您可以在编写代码时快速使用。
无论您的编程专业知识水平如何,您都应该不断学习。多投入一点时间可以为您带来更多价值,并为您节省更多未来时间。
위 내용은 유용하지만 잘 알려지지 않은 다섯 가지 Python 모듈을 알고 계십니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











대부분의 텍스트 편집기를 사용하여 XML 파일을여십시오. 보다 직관적 인 트리 디스플레이가 필요한 경우 Oxygen XML 편집기 또는 XMLSPy와 같은 XML 편집기를 사용할 수 있습니다. 프로그램에서 XML 데이터를 처리하는 경우 프로그래밍 언어 (예 : Python) 및 XML 라이브러 (예 : XML.etree.elementtree)를 사용하여 구문 분석해야합니다.

XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

모바일 XML에서 PDF의 속도는 다음 요인에 따라 다릅니다. XML 구조의 복잡성. 모바일 하드웨어 구성 변환 방법 (라이브러리, 알고리즘) 코드 품질 최적화 방법 (효율적인 라이브러리 선택, 알고리즘 최적화, 캐시 데이터 및 다중 스레딩 사용). 전반적으로 절대적인 답변은 없으며 특정 상황에 따라 최적화해야합니다.

작은 XML 파일의 경우 주석 내용을 텍스트 편집기로 직접 교체 할 수 있습니다. 큰 파일의 경우 XML 파서를 사용하여 효율성과 정확성을 보장하기 위해 수정하는 것이 좋습니다. XML 주석을 삭제할 때주의를 기울이면 주석을 유지하면 일반적으로 코드 이해 및 유지 관리에 도움이됩니다. 고급 팁은 XML 파서를 사용하여 댓글을 수정하기위한 파이썬 샘플 코드를 제공하지만 사용 된 XML 라이브러리에 따라 특정 구현을 조정해야합니다. XML 파일을 수정할 때 인코딩 문제에주의하십시오. UTF-8 인코딩을 사용하고 인코딩 형식을 지정하는 것이 좋습니다.

XML 서식 도구는 규칙에 따라 코드를 입력하여 가독성과 이해를 향상시킬 수 있습니다. 도구를 선택할 때는 사용자 정의 기능, 특수 상황 처리, 성능 및 사용 편의성에주의하십시오. 일반적으로 사용되는 도구 유형에는 온라인 도구, IDE 플러그인 및 명령 줄 도구가 포함됩니다.

모바일에는 간단하고 직접 무료 XML에서 PDF 툴이 없습니다. 필요한 데이터 시각화 프로세스에는 복잡한 데이터 이해 및 렌더링이 포함되며 시장에있는 소위 "무료"도구의 대부분은 경험이 좋지 않습니다. 컴퓨터 측 도구를 사용하거나 클라우드 서비스를 사용하거나보다 신뢰할 수있는 전환 효과를 얻기 위해 앱을 개발하는 것이 좋습니다.

휴대폰에서 고품질로 XML을 PDF로 변환하려면 클라우드에서 XML을 구문 분석하고 서버리스 컴퓨팅 플랫폼을 사용하여 PDF를 생성합니다. 효율적인 XML 파서 및 PDF 생성 라이브러리를 선택하십시오. 오류를 올바르게 처리합니다. 휴대 전화에서 무거운 작업을 피하기 위해 클라우드 컴퓨팅 파워를 최대한 활용하십시오. 복잡한 XML 구조 처리, 다중 페이지 PDF 생성 및 이미지 추가를 포함하여 요구 사항에 따라 복잡성을 조정하십시오. 로그 정보를 인쇄하여 디버그를 돕습니다. 성능을 최적화하고 효율적인 파서 및 PDF 라이브러리를 선택하고 비동기 프로그래밍 또는 XML 데이터를 사용할 수 있습니다. 우수한 코드 품질과 유지 관리를 보장하십시오.

단일 애플리케이션으로 휴대 전화에서 직접 XML에서 PDF 변환을 완료하는 것은 불가능합니다. 두 단계를 통해 달성 할 수있는 클라우드 서비스를 사용해야합니다. 1. 클라우드에서 XML을 PDF로 변환하십시오. 2. 휴대 전화에서 변환 된 PDF 파일에 액세스하거나 다운로드하십시오.
