Найти - Пользователи
Полная версия: Zip
Начало » Python для новичков » Zip
1 2
OzMod
Помогите разобраться при архивации папки с файлами, у меня почему то в архиве создаются все папки пути…
Пример:
 import os,zipfile
OpFILE =  r"C:\Python34\OzCompiler\Project\Папка с файлами"
yourfolder = OpFILE
arch = zipfile.ZipFile(OpFILE+r'.zip', 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(yourfolder):
    print (root+'\\'+str(files))
    for tarfile in files:
        arch.write(root+'\\'+tarfile)
    arch.write(root)
arch.close()
# В этом примере в архив попадут все эти папки ( C:\Python34\OzCompiler\Project\Папка с файлами )
# А мне нужно, что бы в архив попала последняя папка ( Папка с файлами )
treeloys
Ты начинаешь обходить все файлы и одновременно с этим создаешь архив. Используй для этих целей папку temp. А потом готовый архив останется только скопировать.
OzMod
treeloys
что chdir?
на моём примере можно, показать..
Зарание спасибо!
treeloys
OzMod
Зарание спасибо!
ты хотя бы скрин сделал…
 import os,zipfile
input_dir = 'C:\\lolicon\\'
out_file = 'C:\\py\\sex.zip'
yourfolder = input_dir
arch = zipfile.ZipFile(out_file, 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(yourfolder):
	print (root+'\\'+str(files))
	for tarfile in files:
		arch.write(root+'\\'+tarfile)
	arch.write(root)
arch.close()
Все четко, порнуха архивируется.
OzMod
treeloys
Не пойму зачем скрин нужен?
Скопируй скрипт и запусти его…
treeloys
OzMod
treeloysНе пойму зачем скрин нужен?
OzMod
у меня почему то в архиве создаются все папки пути…
мне просто интересно каким образом? Пример рабочий.
OzMod
treeloys
с корня диска и у меня всё нормально, попробуй так!!
 import os,zipfile
input_dir = r"C:\py\lolicon"
out_file = r"C:\py\sex.zip"
yourfolder = input_dir
arch = zipfile.ZipFile(out_file, 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(yourfolder):
	print (root+'\\'+str(files))
	for tarfile in files:
		arch.write(root+'\\'+tarfile)
	arch.write(root)
arch.close()
treeloys
OzMod
treeloysс корня диска и у меня всё нормально, попробуй так!!
А зачем ты убрал последнюю чёрточки, я же специально убрал сырые строки
OzMod
treeloys
так тоже не помогает..
 import os,zipfile
input_dir = "C:\\Python34\\OzCompiler\\Project\\Новая папка\\"
out_file = "C:\\Новая папка.zip"
yourfolder = input_dir
arch = zipfile.ZipFile(out_file, 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(yourfolder):
	print (root+'\\'+str(files))
	for tarfile in files:
		arch.write(root+'\\'+tarfile)
	arch.write(root)
arch.close()
в архиве все папки (( - ( Python34\OzCompiler\Project\Новая папка )
а должна быть одна ( Новая папка )
PEHDOM
так чтоле?
 import os, zipfile
input_dir = "C:\\Python34\\OzCompiler\\Project\\Новая папка\\"
out_file = "C:\\Новая папка.zip"
yourfolder = os.path.normpath(input_dir)
arch = zipfile.ZipFile(out_file, 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(yourfolder):
    for file_name in files:
        src_name = os.path.abspath(os.path.join(root, file_name))
        arc_name = src_name[len(yourfolder) + 1:]
        print('zipping {} as {}'.format(src_name, arc_name))
        arch.write(src_name, arc_name)
arch.close()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB