N0k14

На Пикабу
поставил 4 плюса и 2 минуса
101 рейтинг 0 подписчиков 0 подписок 1 пост 0 в горячем

Помощь с запуском кода Python

Первый пост вопросительный.
По мере службы необходимо много подавать документов в суды через интернет (площадка КАД Арбитр).
При подаче документов в суд (в формате PDF) требования суда заключаются в том, чтобы в наименовании файла было указано, сколько листов содержит файл.

Так вот попадаются заявления у которых количество приложений может перевалить за полсотни.

Как это выглядит сейчас:

-Есть папка с заявлением и приложениями
-Жмем на приложение и в окне предварительного просмотра видим сколько листов в файле
-Жмем F2, потом End и пишем вручную "на 2л." или "на 10л.".

Возникла идея автоматизировать этот процесс путем запуска программы (нажатия одной кнопки).

Из интернет поиска понял, что готовых решений в сети интернет не имеется (а жаль), и что одним из "просты" способов решения моей проблемы является Python. Времени на изучение новой профессии у меня нету, а проблема никуда не денется.

Пошел простым путем. Прошерстив интернет установил Python 3.11.4, установил pip PyPDF 2 и PDFreader.

В ChatGPT запросил код для своей цели и получил следующее:

```python
import os
from PyPDF2 import PdfFileReader
```

folder_path = r'./C:\Users\Твоей мамки\Downloads\'
files = os.listdir(folder_path)

for file_name in files:

if file_name.endswith('.pdf'):
file_path = os.path.join(folder_path, file_name)
with open(file_path, 'rb') as file:
pdf = PdfFileReader(file)
num_pages = pdf.getNumPages()
new_file_name = f"{file_name.split('.')[0]}_{num_pages} страниц.pdf"
new_file_path = os.path.join(folder_path, new_file_name)
os.rename(file_path, new_file_path)
```

Однако при запуске вышеуказанного кода в IDLE имеем ошибку:

Помощь с запуском кода Python Программирование, IT, Python, Длиннопост, Pdf

Прошу помощи по исправлению кода, так как сам крайне далёк от программирования.

UPD В комментариях великие люди помогли.
Вот итоговый код, который надо записать в файл, закидавать в папку, где необходимо переименование и запускать для переименования:
import os

from PyPDF2 import PdfReader

folder_path = os.getcwd() # r'./C:\Users\Твоей мамки\Downloads\'

files = os.listdir(folder_path)

file_map = {}

for file_name in files:

if file_name.endswith('.pdf'):

file_path = os.path.join(folder_path, file_name)

with open(file_path, 'rb') as file:

pdf = PdfReader(file)

num_pages = len(pdf.pages)

new_file_name = f"{file_name.split('.')[0]} на {num_pages} л.pdf"

new_file_path = os.path.join(folder_path, new_file_name)

file_map[file_path] = new_file_path

for old_fp, new_fp in file_map.items():

os.rename(old_fp, new_fp)

Upd 2
Так как текст в посте без отступов, прикреплю скрин

Помощь с запуском кода Python Программирование, IT, Python, Длиннопост, Pdf

Всем еще раз спасибо за помощь!

Показать полностью 2
Отличная работа, все прочитано!