>백엔드 개발 >파이썬 튜토리얼 >Python의 PDF 파일에 문자열이 있는지 확인하십시오.

Python의 PDF 파일에 문자열이 있는지 확인하십시오.

WBOY
WBOY앞으로
2023-08-19 17:57:24865검색

Python의 PDF 파일에 문자열이 있는지 확인하십시오.

오늘날 디지털 세계에서 PDF 파일은 정보를 저장하고 공유하는 중요한 매체가 되었습니다. 그러나 PDF 문서에서 특정 텍스트 문자열을 찾는 것이 어려울 수 있으며, 특히 파일이 길거나 복잡한 경우에는 더욱 그렇습니다. 인기있는 프로그래밍 언어 Python이 유용한 곳입니다.

Python은 PDF 파일과 상호 작용하고 해당 파일에서 정보를 추출할 수 있는 여러 라이브러리를 제공합니다. 일반적인 작업은 PDF 파일에서 특정 문자열을 검색하는 것입니다. 이는 데이터 분석, 텍스트 마이닝, 정보 검색 등 다양한 목적으로 사용될 수 있습니다.

이 맥락에서 PDF 파일에 특정 문자열이 존재하는지 확인하려는 문제가 있습니다. 이 문제를 해결하기 위해 두 가지 다른 방법을 사용할 수 있습니다.

첫 번째 방법은 PDF 파일에서 직접 문자열을 검색하는 것입니다. 이 방법은 PDF 파일 전체에서 문자열을 검색하는 검색 기능을 제공하는 PDF 라이브러리를 활용합니다. 이 라이브러리는 PDF 파일을 읽고 파일 내용에 대한 검색 작업을 수행합니다. 이 방법은 PDF 파일의 모든 줄을 반복할 필요가 없기 때문에 빠르고 효율적입니다.

두 번째 방법은 PDF 파일의 각 줄을 반복하고 각 줄에 문자열이 있는지 확인하는 것입니다. 이 방법에는 PDF 파일을 열고 한 줄씩 읽고 각 줄에 문자열이 있는지 확인하는 작업이 포함됩니다. 이 방법은 첫 번째 방법보다 느리고 효율성이 떨어지지만 PDF 파일에서 특정 정보를 추출하는 등 검색 프로세스를 보다 세밀하게 제어해야 하는 경우와 같은 특정 상황에서는 유용할 수 있습니다.

요약하자면 첫 번째 방법은 PDF 파일에서 직접 문자열을 검색하는 것이고, 두 번째 방법은 PDF 파일의 각 줄을 반복하면서 각 줄에 해당 문자열이 존재하는지 확인하는 것입니다. 사용할 방법을 선택하는 것은 현재 작업의 특정 요구 사항에 따라 다릅니다.

이제 메소드에 대해 충분히 이야기했으니 첫 번째 메소드에 대한 코드 작성에 집중하겠습니다.

방법 1

으아악

Explanation

의 중국어 번역은

Explanation

입니다.

이 코드에는 문자열 St가 있으며 PDF 파일에서 이를 검색하려고 합니다. open() 함수를 사용하여 PDF 파일을 읽기 전용 모드로 열고 파일을 변수 f에 할당합니다. 파일 이름 'example.pdf'는 검색하려는 파일 이름으로 바꿔야 합니다.

다음으로 read() 메서드를 사용하여 전체 PDF 파일의 내용을 문자열 변수 a로 읽어옵니다. 그러면 PDF 파일의 모든 텍스트가 포함된 문자열이 생성됩니다.

그런 다음 in 키워드를 사용하여 St 문자열이 파일 내용에 존재하는지 확인합니다. PDF 파일에서 문자열이 발견되면 해당 문자열이 있음을 나타내는 메시지가 인쇄됩니다. 문자열을 찾을 수 없으면 문자열이 존재하지 않는다는 메시지를 인쇄합니다.

마지막으로 close() 메서드를 사용하여 파일을 닫고 파일 핸들과 관련된 모든 시스템 리소스를 해제합니다. 이는 향후 문제를 일으킬 수 있는 파일을 불필요하게 열어 두지 않도록 하기 위한 중요한 단계입니다.

전체적으로 이 코드는 PDF 파일에서 문자열을 검색하는 간단한 방법을 제공합니다. 그러나 PDF 파일에 복잡한 서식, 그래픽 또는 이미지가 포함된 경우 이 방법이 제대로 작동하지 않을 수 있다는 점에 유의하는 것이 중요합니다. 이러한 요소는 read() 메서드에서 반환된 문자열에 포함되지 않을 수 있기 때문입니다. 이 경우 전문 PDF 라이브러리를 사용하여 PDF 파일에서 텍스트를 추출하고 추출된 텍스트에서 문자열을 검색해야 할 수도 있습니다.

위 코드를 실행하려면 아래 표시된 명령을 실행해야 합니다.

명령

으아악

위 명령을 실행하면 터미널에 다음과 같은 출력이 표시됩니다.

출력

으아악

이제 두 번째 방법에 집중해 보겠습니다.

방법 2

PDF 파일에 문자열이 있는지 확인하려면 한 줄씩 검색하면 됩니다. 먼저 파일을 열고 f라는 변수에 저장된 내용을 읽습니다. 파일을 한 줄씩 반복하기 위해 line 변수와 카운터를 모두 0으로 설정했습니다.

for 루프를 사용하여 파일의 각 줄을 반복하고 문자열이 존재하는지 확인합니다. 문자열이 줄에서 발견되면 그 존재를 나타내는 메시지를 인쇄합니다. 마지막으로 파일을 닫아 파일 핸들과 관련된 시스템 리소스를 해제합니다.

한 줄씩 검색하면 PDF 파일에서 문자열을 더 정확하게 찾을 수 있습니다. 그러나 이 방법은 전체 파일을 한 번에 검색하는 것보다 속도가 느릴 수 있으며, 특히 큰 PDF 파일의 경우 더욱 그렇습니다. 또한 파일의 서식이나 기타 텍스트가 아닌 요소를 고려해야 하며, 이는 전문 PDF 라이브러리를 사용하여 처리해야 할 수도 있습니다.

아래 표시된 코드를 고려해보세요.

Example

의 중국어 번역은 다음과 같습니다:

Example

으아악

Explanation

의 중국어 번역은

Explanation

입니다.

이 코드는 example.pdf라는 PDF 파일에서 'Shruti' 문자열을 검색합니다. 파일은 Python 스크립트와 동일한 디렉터리에 있어야 합니다. 그렇지 않으면 파일의 전체 경로를 지정해야 합니다.

먼저 open() 함수를 사용하여 PDF 파일을 읽기 전용 모드로 검색하고 열기 위한 문자열을 정의합니다. 파일 객체는 변수 f에 할당됩니다.

然后我们初始化两个变量:c是一个标志变量,设置为0,line是一个计数变量,设置为0。

接下来,我们使用for循环来遍历文件中的每一行。对于每一行,我们递增行计数器。然后,我们使用in运算符检查字符串St是否存在于该行中。如果存在,我们将c标志变量设置为1,表示找到了该字符串,并使用break语句跳出循环。

在循环之后,我们检查c标志变量的值。如果它仍然为0,则表示文件中未找到字符串"St",我们打印一条相应的消息。否则,我们使用print()函数打印一条消息,指示找到字符串的行号。

最后,我们使用close()方法关闭文件,释放与文件句柄相关的任何系统资源。

这种方法对于在大型PDF文件中搜索字符串非常有用,因为它允许我们在找到字符串后停止搜索,而不是将整个文件读入内存。然而,需要注意的是,如果PDF文件包含复杂的格式、图形或图像,这种方法可能无法正常工作,因为这些元素可能不会包含在循环返回的行中。在这种情况下,可能需要使用专门的PDF库从PDF文件中提取文本,并在提取的文本中搜索字符串。

要运行上面的代码,我们需要运行下面显示的命令。

命令

python3 main.py

一旦我们运行上述命令,我们将在终端中获得以下输出。

输出

("String '", 'Shruti', "' Is Found In Line", 3727)

结论

总之,Python의 PDF 파일에 문자열이 있는지 확인하십시오.可以使用各种方法来实现,这取决于手头任务的要求。

在本教程中,我们讨论了两种检查字符串是否存在于PDF文件中的方法:直接搜索整个PDF文件或逐行搜索。我们还提供了这两种方法的工作示例,以及详细的解释和代码注释。通过理解这些方法,您应该能够使用Python在PDF文件中搜索特定文本,这对于各种应用程序(如数据挖掘、文本提取等)可能是一个有价值的工具。

위 내용은 Python의 PDF 파일에 문자열이 있는지 확인하십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제