coding: utf-8
import os
import sys
import zipfile
def zip_directory(path):
zip_targets = []
# pathからディレクトリ名を取り出す
base = os.path.basename(path)
# 作成するzipファイルのフルパス
zipfilepath = os.path.abspath('%s.zip' % base)
# walkでファイルを探す
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
filepath = os.path.join(dirpath, filename)
# 作成するzipファイルのパスと同じファイルは除外する
if filepath == zipfilepath:
continue
arc_name = os.path.relpath(filepath, os.path.dirname(path))
print filepath, arc_name
zip_targets.append((filepath, arc_name))
for dirname in dirnames:
filepath = os.path.join(dirpath, dirname)
arc_name = os.path.relpath(filepath, os.path.dirname(path)) + os.path.sep
print filepath, arc_name
zip_targets.append((filepath, arc_name))
# zipファイルの作成 zip = zipfile.ZipFile(zipfilepath, 'w') for filepath, name in zip_targets: zip.write(filepath, name) zip.close()
def main():
zip_directory(sys.argv[1])
if name == 'main':
main()
上記はコピペなのですが、この状態で、ファイルを作成すると、ソースコードのあるディレクトリにファイルが作成されます。
作成されるディレクトリを指定したい場合は、どこを変えたらよいでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。