Написание скрипта для переименования неподходящих файлов - PullRequest
0 голосов
/ 17 мая 2019

, поэтому я пытаюсь написать скрипт, который будет искать по указанному пути файлы, содержащие, например, «Disqualification_of_counsel-.pdf.~tmp@d#260904795^9ff1be71-a06c-4a48-a985-6acd63080bfb» и изменитьимя файла в Disqualification_of_counsel.pdf без мусора, добавляемого в конце, также для файлов, заканчивающихся на docx или doc.Последнее, что я хотел бы, чтобы это выписало вывод, чтобы я мог видеть, как далеко продвинулся скрипт.Я все еще изучаю Python, так что простите, что сценарий неполный, так как я немного растерялся.Любая помощь будет принята с благодарностью.

Пока я получил базовый сценарий, который мне нужно было просмотреть, пожалуйста, прости меня за недостаток знаний по этой теме.

import os
from pathlib import Path
def main():

    print ("Please enter where the files are located")
    user = input()
    path = Path(_file_).parent.absolute()
    filenames = os.listdir(path)

if path.exist() == user:
    print(""Running script"")
for filename in filenames:
    os.rename(filename, filename.replace("", "")

1 Ответ

0 голосов
/ 17 мая 2019

Попробуйте:

import os
from pathlib import Path
import re

user = input("Please enter where the files are located")
path = Path(user).absolute()
if path.exists():
    print("Running script")
    filenames = os.listdir(path)

    for filename in filenames:
        os.rename(os.path.join(path, filename), 
                  os.path.join(path, re.sub(r"([^\.]+\.[^\.]+).*", r"\1", filename)))

    print("done")

else:
    print("does not exist")

Я использую регулярное выражение, когда я re.sub.Если вы не знакомы с регулярными выражениями, взгляните на эти ссылки:
https://regexr.com/
https://docs.python.org/3.7/library/re.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...