LoginSignup
0
0

More than 5 years have passed since last update.

iCloudの画像整理バッチ (2)-1 ファイル属性をクラスにまとめよう<1>

Last updated at Posted at 2018-03-19

iCloudの画像整理バッチ (2)-1 ファイル属性をクラスにまとめよう<1>

経緯・理由

目的・実装予定の機能

目的

機能

目次用記事を立てました→こちら

<< 最初の記事 | < 前の連載記事 | 次の連載記事 >

(※免責:上記の順番は記事の順番とは一致しない可能性が高いです。あらかじめご了承下さい)

今回の機能の解説

  • ファイルパスを受け取り、そこから様々な情報が受け取れるようにする
  • 前準備として、クラスのコンストラクタ(__init__)を定義する

ソースコード

file_attr.py

def __init__(self, fpath, dest_dir, size_limit): 
    org_path = Path(fpath)      # ファイルパスを受け取り、Pathオブジェクトにする
    if not org_path.exists():   # 存在しないファイルは無視
        return 

    ctime = org_path.stat().st_ctime    # 作成日時の取得
    fsize = org_path.stat().st_size     # ファイルサイズの取得

    self.org_path = org_path 
    self.create_time = ddt.fromtimestamp(ctime)     # ctimeはtimestampなのでdatetimeに変換
    self.file_size = fsize 
    self.dest_org = Path(dest_dir) 
    self.dest_path = self.dest_org / org_path.name  # 移動先のパスを設定
    self.allow_copy = False 
    self.size_limit = size_limit 

解説

  • self.で宣言すると、同じインスタンスでそれ以降変数が利用可能になる(はず)
    • そのため、__init__で宣言するのが早い
  • ファイルの属性はos.pathから取得しても良い
    • 今回はpathlibPathクラスから取得
  • ddtfrom datetime import datetime as ddtで宣言したもの
    • 通常はdatetime.datetime.fromtimestamp(timestamp)になる

細かいところは後日

  • 修正箇所見つけたのは後日に
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0