cari
Rumahpembangunan bahagian belakangTutorial PythonSemak sama ada rentetan wujud dalam fail PDF dalam Python

Semak sama ada rentetan wujud dalam fail PDF dalam Python

Dalam dunia digital hari ini, fail PDF telah menjadi medium penting untuk menyimpan dan berkongsi maklumat. Walau bagaimanapun, kadangkala sukar untuk mencari rentetan teks tertentu dalam dokumen PDF, terutamanya apabila fail itu panjang atau kompleks. Di sinilah bahasa pengaturcaraan popular Python berguna.

Python menyediakan beberapa perpustakaan yang membolehkan kami berinteraksi dengan fail PDF dan mengekstrak maklumat daripadanya. Tugas biasa ialah mencari rentetan tertentu dalam fail PDF. Ini boleh digunakan untuk pelbagai tujuan seperti analisis data, perlombongan teks atau mendapatkan maklumat.

Dalam konteks ini, kami menghadapi masalah di mana kami ingin menyemak sama ada rentetan tertentu wujud dalam fail PDF. Untuk menyelesaikan masalah ini, kita boleh menggunakan dua kaedah yang berbeza.

Kaedah pertama melibatkan pencarian rentetan terus dalam fail PDF. Kaedah ini menggunakan perpustakaan PDF yang menyediakan keupayaan carian untuk mencari rentetan di seluruh fail PDF. Pustaka ini membaca fail PDF dan menjalankan operasi carian pada kandungan fail. Kaedah ini pantas dan cekap kerana ia tidak memerlukan gelung melalui setiap baris fail PDF.

Kaedah kedua melibatkan lelaran melalui setiap baris fail PDF dan menyemak sama ada rentetan terdapat dalam setiap baris. Kaedah ini melibatkan membuka fail PDF, membacanya baris demi baris dan menyemak setiap baris untuk kehadiran rentetan. Kaedah ini lebih perlahan dan kurang cekap daripada kaedah pertama, tetapi ia boleh berguna dalam situasi tertentu, seperti apabila kita memerlukan kawalan yang lebih baik ke atas proses carian, seperti mengekstrak maklumat khusus daripada fail PDF.

Ringkasnya, kaedah pertama ialah mencari rentetan secara langsung dalam fail PDF, manakala kaedah kedua ialah melingkari setiap baris fail PDF dan menyemak sama ada rentetan itu wujud dalam setiap baris. Memilih kaedah yang hendak digunakan bergantung pada keperluan khusus tugasan yang sedang dijalankan.

Sekarang kita telah membincangkan kaedah yang mencukupi, mari fokus pada menulis kod untuk kaedah pertama.

Kaedah 1

# The string we want to search for
St = 'Shruti'

# Open the PDF file in read mode
with open("example.pdf", "r") as f:
    # Read the entire file into a string variable 'a'
    a = f.read()

    # Check if the string 'St' is present in the file contents
    if St in a:
        # If the string is present, print a message indicating its presence
        print('String '', St, '' Is Found In The PDF File')
    else:
        # If the string is not present, print a message indicating its absence
        print('String '', St, '' Not Found')

# Close the file
f.close()
Terjemahan bahasa Cina bagi

Penjelasan

ialah:

Penjelasan

Dalam kod ini, kami mempunyai rentetan St dan kami ingin mencarinya dalam fail PDF. Kami menggunakan fungsi open() untuk membuka fail PDF dalam mod baca sahaja dan menetapkan fail kepada pembolehubah f. Nama fail 'example.pdf' hendaklah digantikan dengan nama fail yang anda ingin cari.

Seterusnya, kami menggunakan kaedah read() untuk membaca kandungan keseluruhan fail PDF ke dalam pembolehubah rentetan a. Ini akan mencipta rentetan yang mengandungi semua teks dalam fail PDF.

Kemudian, kami menggunakan kata kunci dalam untuk menyemak sama ada rentetan St wujud dalam kandungan fail. Jika rentetan ditemui dalam fail PDF, kami mencetak mesej yang menunjukkan kehadirannya. Jika rentetan tidak ditemui, kami mencetak mesej yang menunjukkan bahawa ia tidak wujud.

Akhir sekali, kami menutup fail menggunakan kaedah close(), melepaskan sebarang sumber sistem yang dikaitkan dengan pemegang fail. Ini adalah langkah penting untuk memastikan kami tidak menyimpan sebarang fail terbuka tanpa perlu, yang boleh menyebabkan masalah pada masa hadapan.

Secara keseluruhan, kod ini menyediakan cara mudah untuk mencari rentetan dalam fail PDF. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kaedah ini mungkin tidak berfungsi dengan betul jika fail PDF mengandungi pemformatan, grafik atau imej yang kompleks, kerana elemen ini mungkin tidak disertakan dalam rentetan yang dikembalikan oleh kaedah read(). Dalam kes ini, mungkin perlu menggunakan perpustakaan PDF khusus untuk mengekstrak teks daripada fail PDF dan mencari rentetan dalam teks yang diekstrak.

Untuk menjalankan kod di atas, kita perlu menjalankan arahan yang ditunjukkan di bawah.

Perintah

python3 main.py

Sebaik sahaja kita menjalankan arahan di atas, kita akan mendapat output berikut dalam terminal.

Output

("String '", 'Shruti', "' Is Found In The PDF File")

Sekarang mari fokus pada kaedah kedua.

Kaedah 2

Untuk menyemak sama ada rentetan wujud dalam fail PDF, kami boleh mencari baris demi baris. Mula-mula, kami membuka fail dan membaca kandungannya, yang disimpan dalam pembolehubah yang dipanggil f. Kami menetapkan kedua-dua pembolehubah baris dan pembilang kepada sifar untuk mengulangi baris demi baris fail.

Menggunakan gelung for, kami melelar melalui setiap baris fail dan menyemak sama ada rentetan itu wujud. Jika rentetan ditemui dalam baris, kami mencetak mesej yang menunjukkan kewujudannya. Akhir sekali, kami menutup fail untuk melepaskan sebarang sumber sistem yang dikaitkan dengan pemegang fail.

Dengan mencari baris demi baris, kami boleh mencari rentetan dalam fail PDF dengan lebih tepat. Walau bagaimanapun, kaedah ini mungkin lebih perlahan daripada mencari keseluruhan fail sekaligus, terutamanya untuk fail PDF yang lebih besar. Selain itu, sebarang pemformatan atau elemen bukan teks lain dalam fail perlu diambil kira, yang mungkin perlu dikendalikan menggunakan perpustakaan PDF khusus.

Pertimbangkan kod yang ditunjukkan di bawah.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

# Define the string to search for
St = 'Shruti'

# Open the PDF file in read mode
f = open("example.pdf", "r")

# Initialize counter variables
c = 0
line = 0

# Loop over each line in the file
for a in f:
    # Increment the line counter
    line = line + 1

    # Check if the string is present in the line
    if St in a:
        # Set the flag variable to indicate the string was found
        c = 1
        # Exit the loop once the string is found
        break

# Check the flag variable to see if the string was found
if c == 0:
    # Print a message indicating the string was not found
    print('String '', St, '' Not Found')
else:
    # Print a message indicating the line number where the string was found
    print('String '', St, '' Is Found In Line', line)

# Close the file to release any system resources associated with the file handle
f.close()
Terjemahan bahasa Cina bagi

Penjelasan

ialah:

Penjelasan

Kod ini mencari rentetan 'Shruti' dalam fail PDF bernama example.pdf. Fail harus berada dalam direktori yang sama dengan skrip Python, atau laluan penuh ke fail perlu ditentukan.

Kami mula-mula menentukan rentetan untuk mencari dan membuka fail PDF dalam mod baca sahaja menggunakan fungsi open(). Objek fail diberikan kepada pembolehubah 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)

结论

总之,Semak sama ada rentetan wujud dalam fail PDF dalam Python可以使用各种方法来实现,这取决于手头任务的要求。

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

Atas ialah kandungan terperinci Semak sama ada rentetan wujud dalam fail PDF dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:tutorialspoint. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Pembelajaran Python: Adakah 2 jam kajian harian mencukupi?Pembelajaran Python: Adakah 2 jam kajian harian mencukupi?Apr 18, 2025 am 12:22 AM

Adakah cukup untuk belajar Python selama dua jam sehari? Ia bergantung pada matlamat dan kaedah pembelajaran anda. 1) Membangunkan pelan pembelajaran yang jelas, 2) Pilih sumber dan kaedah pembelajaran yang sesuai, 3) mengamalkan dan mengkaji semula dan menyatukan amalan tangan dan mengkaji semula dan menyatukan, dan anda secara beransur-ansur boleh menguasai pengetahuan asas dan fungsi lanjutan Python dalam tempoh ini.

Python untuk Pembangunan Web: Aplikasi UtamaPython untuk Pembangunan Web: Aplikasi UtamaApr 18, 2025 am 12:20 AM

Aplikasi utama Python dalam pembangunan web termasuk penggunaan kerangka Django dan Flask, pembangunan API, analisis data dan visualisasi, pembelajaran mesin dan AI, dan pengoptimuman prestasi. 1. Rangka Kerja Django dan Flask: Django sesuai untuk perkembangan pesat aplikasi kompleks, dan Flask sesuai untuk projek kecil atau sangat disesuaikan. 2. Pembangunan API: Gunakan Flask atau DjangorestFramework untuk membina Restfulapi. 3. Analisis Data dan Visualisasi: Gunakan Python untuk memproses data dan memaparkannya melalui antara muka web. 4. Pembelajaran Mesin dan AI: Python digunakan untuk membina aplikasi web pintar. 5. Pengoptimuman Prestasi: Dioptimumkan melalui pengaturcaraan, caching dan kod tak segerak

Python vs C: Meneroka Prestasi dan KecekapanPython vs C: Meneroka Prestasi dan KecekapanApr 18, 2025 am 12:20 AM

Python lebih baik daripada C dalam kecekapan pembangunan, tetapi C lebih tinggi dalam prestasi pelaksanaan. 1. Sintaks ringkas Python dan perpustakaan yang kaya meningkatkan kecekapan pembangunan. 2. Ciri-ciri jenis kompilasi dan kawalan perkakasan meningkatkan prestasi pelaksanaan. Apabila membuat pilihan, anda perlu menimbang kelajuan pembangunan dan kecekapan pelaksanaan berdasarkan keperluan projek.

Python dalam Tindakan: Contoh dunia nyataPython dalam Tindakan: Contoh dunia nyataApr 18, 2025 am 12:18 AM

Aplikasi dunia sebenar Python termasuk analisis data, pembangunan web, kecerdasan buatan dan automasi. 1) Dalam analisis data, Python menggunakan panda dan matplotlib untuk memproses dan memvisualisasikan data. 2) Dalam pembangunan web, kerangka Django dan Flask memudahkan penciptaan aplikasi web. 3) Dalam bidang kecerdasan buatan, tensorflow dan pytorch digunakan untuk membina dan melatih model. 4) Dari segi automasi, skrip python boleh digunakan untuk tugas -tugas seperti menyalin fail.

Penggunaan Utama Python: Gambaran Keseluruhan KomprehensifPenggunaan Utama Python: Gambaran Keseluruhan KomprehensifApr 18, 2025 am 12:18 AM

Python digunakan secara meluas dalam bidang sains data, pembangunan web dan bidang skrip automasi. 1) Dalam sains data, Python memudahkan pemprosesan dan analisis data melalui perpustakaan seperti numpy dan panda. 2) Dalam pembangunan web, rangka kerja Django dan Flask membolehkan pemaju dengan cepat membina aplikasi. 3) Dalam skrip automatik, kesederhanaan Python dan perpustakaan standard menjadikannya ideal.

Tujuan utama python: fleksibiliti dan kemudahan penggunaanTujuan utama python: fleksibiliti dan kemudahan penggunaanApr 17, 2025 am 12:14 AM

Fleksibiliti Python dicerminkan dalam sokongan multi-paradigma dan sistem jenis dinamik, sementara kemudahan penggunaan berasal dari sintaks mudah dan perpustakaan standard yang kaya. 1. Fleksibiliti: Menyokong pengaturcaraan berorientasikan objek, fungsional dan prosedur, dan sistem jenis dinamik meningkatkan kecekapan pembangunan. 2. Kemudahan Penggunaan: Tatabahasa adalah dekat dengan bahasa semulajadi, perpustakaan standard merangkumi pelbagai fungsi, dan memudahkan proses pembangunan.

Python: Kekuatan pengaturcaraan serba bolehPython: Kekuatan pengaturcaraan serba bolehApr 17, 2025 am 12:09 AM

Python sangat disukai kerana kesederhanaan dan kuasa, sesuai untuk semua keperluan dari pemula hingga pemaju canggih. Kepelbagaiannya dicerminkan dalam: 1) mudah dipelajari dan digunakan, sintaks mudah; 2) perpustakaan dan kerangka yang kaya, seperti numpy, panda, dan sebagainya; 3) sokongan silang platform, yang boleh dijalankan pada pelbagai sistem operasi; 4) Sesuai untuk tugas skrip dan automasi untuk meningkatkan kecekapan kerja.

Belajar python dalam 2 jam sehari: panduan praktikalBelajar python dalam 2 jam sehari: panduan praktikalApr 17, 2025 am 12:05 AM

Ya, pelajari Python dalam masa dua jam sehari. 1. Membangunkan pelan kajian yang munasabah, 2. Pilih sumber pembelajaran yang betul, 3 menyatukan pengetahuan yang dipelajari melalui amalan. Langkah -langkah ini dapat membantu anda menguasai Python dalam masa yang singkat.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.