Файл не найден, ошибка, когда он должен его создать (только когда я добавляю текущую дату к имени) - PullRequest
2 голосов
/ 14 февраля 2020

Я пытаюсь создать файл .csv с некоторыми списанными данными, которые вводятся в функцию в качестве аргумента «результаты». Проблема заключается в том, что, когда я добавляю текущую системную дату к имени файла, я получаю сообщение об ошибке «файл не найден», когда ожидаемый результат - создание файла.

Вот мой код:

def saveData(results):
    date = datetime.today().strftime('%d/%m/%Y')
    file = pathlib.Path(f'Results-{date}.csv')
    with open(file,'w',newline='') as f:
        writer = csv.writer(f)
        for result in results:
            if result:
                writer.writerow(result)
        print('File written')


saveData(scrappedData(urlList()))

И ошибка, которую я получаю:

line 99, in saveData
with open(file,'w',newline='') as f:

FileNotFoundError: [Errno 2] No such file or directory: 'Results-13\\02\\2020.csv'

Обратите внимание, что я не получаю эту ошибку при удалении даты из имени файла.

Спасибо вы.

1 Ответ

3 голосов
/ 14 февраля 2020

В вашем имени файла есть косые черты (/). Они преобразуются в обратную косую черту (вы, вероятно, пользователь Windows) и рассматриваются как разделители пути. Итак, open() пытается создать файл в глубине несуществующего дерева каталогов.

Просто замените косую черту каким-либо другим символом (избегайте * и других специальных символов).

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