Member 14021695 Ответов: 1

Ioerror: [errno 13] отказано в разрешении: при записи в файл на Python (windows)


Я пытаюсь создать подпапки и создать файл внутри последней подпапки и записать его в файл

Например:-
Я хочу создать папку "scripts26" и подпапку "папка" внутри "scripts26" и создать файл"test.txt-и напиши в файле: "это мальчик".

1) он создает папки как:-

C:\Users\admin\Desktop\scripts26\folder\test.txt

Note:-test.txt также создается как подпапка внутри папки
2)и сбой с ошибкой ввода-вывода

Я также попытался снять флажок разрешения только для чтения для папки scripts26.Но он сбрасывается, когда я проверяю его снова.Пожалуйста помочь.

Вот результат моей программы:-

=============== ПЕРЕЗАПУСК: C:/Users/admin/Desktop/scripts/de.py ===============
Путь создан

Обратная трассировка (самый недавний призыв последнего):
Файл "C:/Users/admin/Desktop/scripts/de.py", строка 6, in <module>
с открытым(mypath,"w") as x:
IOError: [Errno 13] разрешение отказано: 'C:/Users/admin/Desktop/scripts26/folder/test.txt'
>>>

Что я уже пробовал:

мой код:-
=======

импорт ОС
mypath ="C:/Users/admin/Desktop/scripts26/folder/test.txt"
если нет os.path.exists(mypath):
os.makedirs(mypath,0755);
print"путь создан"
с открытым(mypath,"w") as x:
x.напишите("это мальчик")

1 Ответов

Рейтинг:
0

Richard MacCutchan

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

import os
mypath ="C:/Users/admin/Desktop/scripts26/folder"
if not os.path.exists(mypath):
    os.makedirs(mypath,0755)
    print"Path is created"
fname = mypath + "/" + "test.txt"
with open(fname,"w") as x:
    x.write("This is a boy")