会社説明動画をYouTubeで公開しました
会社説明動画をYouTubeで公開しました 昨年より続く世界規模の環境変化で、イベントをはじめとするオフラインのイベントが中止を余儀なくされています。そのため企業説明会や会社訪問で会うことができなかった多くの方に向けて、 […]
Filter by Category
会社説明動画をYouTubeで公開しました 昨年より続く世界規模の環境変化で、イベントをはじめとするオフラインのイベントが中止を余儀なくされています。そのため企業説明会や会社訪問で会うことができなかった多くの方に向けて、 […]
フォルダ内のファイルを複数毎にzip形式に圧縮 ファイルをまとめてzip形式に圧縮してしまうと容量が増えてしまうので、メールなどで送るために複数個に分けて圧縮ファイルを作りたいときがあります。ファイル数がそれほど多くない […]
2020年1月1日(水)ぐんま経済新聞に掲載されました 2020年1月1日(水)ぐんま経済新聞の新年特別号 IT特集に弊社代表の石井が掲載されました。
複数の画像から動画ファイルを作る 前回に続き、今回は複数の画像をまとめて動画ファイルに変換する方法です。gifアニメーションを生成するときはPillowを使いましたが、動画を生成するときはOpenCVを使います。 コード […]
複数の画像からgifアニメーションを作る 定点撮影などで連番になっている複数の画像をまとめてgifアニメーションに変換する方法です。 コードはGitHubリポジトリにあげています。 コード 結果 解説 import gl […]
SeleniumでChromeが立ち上がらない Pythonでスクレイピングする時にSeleniumでChromeを立ち上げますが、その際に以下のエラーが出てブラウザが起動しない場合があります。その時の解決方法です。 解 […]
Daiwa Innovation Networkに弊社代表の石井が登壇しました 2019年12月19日(木)に大和証券本店で開催された大和証券株式会社主催のピッチイベント「第82回 Daiwa Innovati […]
2019年の冬季休業のお知らせ 誠に勝手ながら、弊社では下記日程を冬季休業とさせていただきます。 冬季休業期間 2019年12月28日(土)~2020年1月5日(日) 期間中にいただきましたお問い合わせにつきましては、冬 […]
群馬イノベーションアワード2019に登壇しました 12/7(日)にヤマダグリーンドーム前橋で開催された群馬イノベーションアワード2019で弊社代表の石井がファイナリストとして登壇しました。
ダウンロードするファイルの文字コードを動的に変更 ウェブアプリケーションの中でCSVやテキストファイルをダウンロードさせた時に文字化けが発生する事があります。使用する文字コードが決まっていれば予め固定してしまう事で文字化 […]
画像のアップロード Google Colaboratoryで画像をアップロードして表示する方法です。画像解析以外にもCSVのアップロードなどの際にも同じ方法でアップロードできます。 画像のインライン表示 今度はアップロー […]
ファイルをまとめてzip形式に圧縮してしまうと容量が増えてしまうので、メールなどで送るために複数個に分けて圧縮ファイルを作りたいときがあります。ファイル数がそれほど多くないときは手動でも対応できますが、ファイル数が多い場合は自動化すると作業を効率化できます。
開発環境
$ python -V
Python 3.7.0
$ tree
├── archive.py
├── files
└── zip
import datetime
import glob
import zipfile
from time import sleep
zip_cnt = 0
for filename in sorted(glob.glob("files/*.jpg")):
if zip_cnt == 0:
dt = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
zip_name = 'zip/' + dt + '.zip'
zip_files = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED)
zip_files.write(filename)
zip_cnt += 1
elif zip_cnt == 5:
zip_files.close()
zip_cnt = 0
sleep(1)
else:
zip_files.write(filename)
zip_cnt += 1
if not zip_files.close():
zip_files.close()
else:
pass
print('圧縮が終わりました。')
import datetime
import glob
import zipfile
from time import sleep
モジュールを読み込む
zip_cnt = 0
カウント用の変数を作ります
for filename in sorted(glob.glob("files/*.jpg")):
filesフォルダ内の拡張子がjpgファイルを読み込む(*はワイルドカードで全てのjpgファイルが対象)
dt = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
圧縮ファイルのネーミング用に現在時刻を取得
zip_name = 'zip/' + dt + '.zip'
圧縮ファイルの名前を作成(生成した圧縮ファイルはzipフォルダに格納)
zip_files = zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED)
zip形式の圧縮ファイルを生成(圧縮する場合は第三引数に‘ZIP_DEFLATED’を指定)
zip_files.write(filename)
生成した圧縮にファイルに読み込んだファイルを追加
zip_cnt += 1
カウントに追加
elif zip_cnt == 5:
ファイルを5件ごと圧縮するので5に設定
zip_files.close()
圧縮ファイルをクローズ
圧縮する件数が少ないと一秒間に複数回処理が行われてしまい、圧縮ファイルが正常に書き出されないので、圧縮ファイルをクローズした後にsleep(1)
で一秒間スリープさせています。
当ブログは、群馬県でPython / Djangoを中心にウェブアプリケーションを開発している、株式会社ファントムが運営しています。
Comments