Форум сайта python.su
1
Помогите разобраться при архивации папки с файлами, у меня почему то в архиве создаются все папки пути…
Пример:
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()
Офлайн
0
Ты начинаешь обходить все файлы и одновременно с этим создаешь архив. Используй для этих целей папку temp. А потом готовый архив останется только скопировать.
Отредактировано treeloys (Июнь 5, 2017 22:01:06)
Офлайн
1
treeloys
что chdir?
на моём примере можно, показать..
Зарание спасибо!
Офлайн
0
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()
Отредактировано treeloys (Июнь 5, 2017 22:21:16)
Офлайн
1
treeloys
Не пойму зачем скрин нужен?
Скопируй скрипт и запусти его…
Офлайн
0
OzMod
treeloysНе пойму зачем скрин нужен?
OzModмне просто интересно каким образом? Пример рабочий.
у меня почему то в архиве создаются все папки пути…
Офлайн
1
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()
Офлайн
0
OzModА зачем ты убрал последнюю чёрточки, я же специально убрал сырые строки
treeloysс корня диска и у меня всё нормально, попробуй так!!
Офлайн
1
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()
Офлайн
294
так чтоле?
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()
[code python][/code]
Отредактировано PEHDOM (Июнь 6, 2017 10:48:08)
Офлайн