Как открыть файл и удалить определенные символы на основе аргументов, переданных из командной строки - PullRequest
0 голосов
/ 20 января 2019

Итак, у меня есть функция, которая по сути будет запускать и генерировать отчет и сохранять его с именем файла args.current_date.У меня возникла проблема с удалением расширения .json из сохраняемого имени файла, которое на самом деле не читается.Поскольку я передаю dict как аргументы, я не могу использовать метод strip() для этого.Пока что моя функция такова:

parser = argparse.ArgumentParser()
parser.add_argument("-c", "--current-date", action="store", required=False)
parser.add_argument("-p", "--previous-date", action="store", required=False)
args = parser.parse_args()

def custom_report(file_names, previous_data , current_data):
    reporting = open('reports/' + args.current_date+ "-report.txt", "w")
    reporting.write("This is the comparison report between the directories" " " + args.current_date +
                    " " "and" " " + args.previous_date + "\n\n")
    for item in file_names:
        reporting.write(item + compare(previous_data.get(item), current_data.get(item)) + "\n")
    reporting.close()

Файл сохранен как «2019-01-13.json-report.txt».Я хочу избавиться от аспекта «.json» и оставить его как «2019-01-13-report.txt»

1 Ответ

0 голосов
/ 21 января 2019

Чтобы удалить расширение имени файла, вы можете использовать функцию os.path.splitext :

>>> import os
>>> name = '2019-01-13.json'
>>> os.path.splitext(name)
('2019-01-13', '.json')
>>> os.path.splitext(name)[0]
'2019-01-13'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...