никогда используйте os.chdir
, если вы можете избежать этого, а именно: большую часть времени / всегда .
Плюс это мешает вам понять логикупутей к файлам вне текущего каталога.
Предпочитайте использовать абсолютный путь к файлам, которые вы читаете / пишете.
Поэтому удалите
os.chdir(dirf)
, теперь измените это:
with open(filename+'.txt','w', encoding='utf-8') as filename:
от
subdir = os.path.join(dirf,item)
if os.path.exists(subdir):
os.mkdir(subdir) # create first time
with open(os.path.join(subdir,filename+'.txt'),'w', encoding='utf-8') as f:
f.write(item.text)
где item
- относительный путь к вашему подкаталогу (он должен соответствовать текущим правилам файловой системы, что не гарантируется на 100%, так как он исходит из HTMLфайл).Также обратите внимание, что вам не следует снова использовать filename
для файла handle .Я обычно использую f
или filehandle