Tatsuya Blog
msgbartop
ニートになりたいプログラマ
msgbarbottom

2009-10-21 01:39 [Python]ディレクトリをまとめてzip圧縮

pythonのライブラリリファレンスを見ているとディレクトリをzip圧縮するメソッドがなかったので作成してみました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- coding: utf-8 -*-
import os,zipfile
 
def zip_write_dir(base_dir, src_dir, zip_name):
    """ディレクトリをzip圧縮する
        base_dir: src_dirが属するディレクトリを表す
        src_dir: 圧縮対象のディレクトリを表す
        zip_name: 出力先のzipファイルのフルパスを表す
    """
    zf = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED)
 
    current_dir = os.getcwd();
    os.chdir(base_dir)
 
    for root,dirs,files in os.walk(src_dir):
        for _file in files:
            filename = os.path.join(root,_file)
            arcname = filename
            zf.write(filename, arcname)
 
    zf.close()
    os.chdir(current_dir)

Tags: , ,

2008-08-10 20:40 郵政省からDL可能な郵便番号データについて

久しぶりの更新です。

今日もいつも通り仕事をしてるわけですが、先日郵便番号データをDBに入れないでcsvファイルのまま検索がしたいとのことだったので、郵便番号の上位3桁ずつファイル分割を試みました。

まぁ、分割はあっさり終わったんですが、今日、自分の住んでいる郵便番号で検索したところ、うまくヒットしなかったのでなんかおかしいと思い対象のファイルを見てみると1件しか入っていませんでした。

そうです。郵政省からダウンロード可能な郵便番号データは郵便番号順でソートはされていないのです。

まぁ、単純に追記モードでファイル書き込みを行ってやれば既存のソースのまま動いたので一安心です。

Tags: , , , , ,