Ошибка ОС при преобразовании строки в необработанную строку и создании файла

#python #python-3.x #string #file #python-3.9

#Python #python-3.x #строка #файл #Python-3.9

Вопрос:

Я новичок в Python. Я хочу создавать файл журнала для каждого использования программы, вот код;

 import time

date1 = time.strftime('%d-%m-%Y %H:%M:%S')
path = "C:\Users\Devisha\Documents\Coding\Python\DeviOS\Log"
name1 = '\Log-'
date = date1
last = '.txt'
filelog = path   name1   date   last
b = r"{}".format(filelog)
a = open(b, 'x')
 

И когда я запускаю его, он возвращает эту ошибку

Трассировка (последний последний вызов): файл «c:UsersDevishaDocumentsCodingPythontest.py «, строка 10, в a = open(b, ‘x’) Ошибка ошибки: [Ошибка 22] Недопустимый аргумент: ‘C:UsersDevishaDocumentsCodingPythonDeviOSLogLog-14-02-2021 23:42:33.txt ‘

Итак, что я хочу, это получить дату, объединить ее с начальным путем (path), начальным именем файла (name1) и типом файла (last) и преобразовать его в строку, а затем создать файл.

Я использую VS Code и 64-разрядный Python 3.9.1

Комментарии:

1. В этом нет необходимости format . filelog это уже строка.

2. Что вы подразумеваете под «преобразованием в необработанную строку»? Raw применяется только к строковым литералам, а не к содержимому строки.

3. Каким x должен быть режим?

4. Вы пытались избежать пробела здесь «Log-14-02-2021 23:42:33.txt «?

5. @Barmar Я попытался добавить его в качестве пути напрямую без format , и он вернул это. Файл «c:UsersDevishaDocumentsCodingPythontest.py «, строка 10, в <module> a = open(filelog, ‘x’) Ошибка ошибки: [Ошибка 22] Недопустимый аргумент: ‘C:\Users\Devisha\Documents\Coding\Python\DeviOS\Log\Log-15-02-2021 08:22:11.txt ‘

Ответ №1:

Я бы порекомендовал вам использовать библиотеку ведения журнала python, если вы хотите записать код.

Комментарии:

1. Спасибо за предложение, это классная библиотека, простая в использовании и простая, но она по-прежнему не решает проблему имени файла в виде строки ———> [ Ошибка: [Ошибка 22] Недопустимый аргумент: ‘C:\Users\Devisha\Documents\Coding\Python\DeviOS\Log\Log-15-02-2021_09:26:54.txt «]

2. Это может быть форматирование строки, я бы действительно рекомендовал использовать os.path для создания пути к файлу. Одной из возможных проблем может быть способ определения пути Windows.