AttributeError: 'NoneType' object has no attribute 'write'
Traceback (most recent call last):
File "d:\Projetcs\python\discordTgr\tokengrabber\2test.py", line 6, in <module>
zf.write(dirname)
AttributeError: 'NoneType' object has no attribute 'write'
import os
import zipfile
zf = zipfile.ZipFile("myzipfile.zip", "w").extractall(pwd='P4$$W0rd')
for dirname, subdirs, files in os.walk("Spammer"):
zf.write(dirname)
for filename in files:
zf.write(os.path.join(dirname, filename))
zf.close()
Ответы (2 шт):
Автор решения: farkon00
→ Ссылка
Это означает, что extractall ничего не возвращает. В документации написано, что что-бы записать что-то в архив надо обращаться к объекту типа ZipFile.
Пример из документации:
with ZipFile('spam.zip', 'w') as myzip:
myzip.write('eggs.txt')
Если не понимаете что такое with : ZipFile('spam.zip', 'w').write('eggs.txt')
Если нужно создать новую папку, то тоже используется write.
ZipFile('spam.zip', 'w').write("somefile", "directory to create\\somefile") и дальше если нужна пустая папка, удаляете созданный файл.
Автор решения: gil9red
→ Ссылка
Попробуйте так:
import os
import zipfile
zf = zipfile.ZipFile("myzipfile.zip", "w")
zf.extractall(pwd='P4$$W0rd')
for dirname, subdirs, files in os.walk("Spammer"):
zf.write(dirname)
for filename in files:
zf.write(os.path.join(dirname, filename))
zf.close()