memopy

pythonで作ってみました的なブログ

python ファイル名に応じたフォルダ分け(ファイル整理術)

ファイル名に応じたフォルダ分け(ファイル整理術)

前回の投稿から大分日が経ってしまったが、今回は、カレンダーの続きはお休みにして、標記について記述したい。

なお、先月のアクセス数は、延べ7,713pv、2,695人であった。(1日平均約250pv)
こんなギークな記事にこれほどアクセスがあるものかと正直驚いているが、読者からコメントも頂き、非常に感謝である。
これを励みにギークな記事を発信し続けていきたい。(どれほど参考になっているかは不明であるが。。。)

本日は私が実務で多用しているpythonの使い方について紹介する。
後輩からもこのような「例題」についての質問をよく受けるため、ここで紹介したい。

例題:ファイル名に含まれている日付に基づきフォルダを作成し、そのフォルダに整理する

大量のファイルに対して次のような処理を行いたいことを想定する。

  • ファイル名は、"YYYYMMDD_XXXXXX.txt"のように、日付とタイトルがある
  • ファイル名の日付に基づき、日付フォルダを作成し、そのフォルダに当該ファイルを格納する

f:id:memopy:20171010222508p:plain

続きを読む

python tkinter カレンダーの月めくり処理を実装する(カレンダー編③)

カレンダーの月めくり処理を実装する

カレンダーアプリを作成する第3回目。今回は、カレンダーの月めくりの処理を実装したい。

前回までに作成したGUI
f:id:memopy:20170615180348p:plain

月めくりのロジック

新規に作成するメソッドは次のロジックとなる。

  1. 月を変更するラベル("<", ">")がクリックされたときのイベント関数を定義
  2. イベント関数内で(以下、同じ。)押されたラベルが、"<" か ">" かを判定する
  3. "<" が押されたら、現在の月を -1 する
  4. ">" が押されたら、現在の月を +1 する
  5. 現在の月が 0 になったら、現在の年を -1 して、現在の月を 12 にする
  6. 現在の月が 13 になったら、現在の年を +1 して、現在の月を 1 にする
  7. frame_topにある年と月のラベルを変更する
  8. 変換した現在の年と月を引数にして、カレンダーの日付部分を作成するメソッド(create_calendar)を再度呼び出す

また、カレンダーの日付部分を作成するメソッド(create_calendar)には、「呼び出されたら、はじめに、現在定義されているボタンを全て削除する(初期化)処理」を追加する。

続きを読む

python tkinterでカレンダーを作成する(カレンダー編②)

python tkinterでカレンダーを作成する(カレンダー編②)

f:id:memopy:20170615180348p:plain
今回はメインとなるカレンダーのGUIから作成する。tkinterにはカレンダーウィジェットというものは存在しないため、ウィジェットを組み合わせてカレンダーを作っていく必要がある。
今回はメインとなる各日付を表示するウィジェットにはボタンタイプを採用した。これにより、日付をクリックしてスケジュールの登録を可能にする。(ラベルタイプでもできるが、「押した感」を出せるのはボタンタイプとなる。)
その他、ラベルと、それらを格納するフレームを上図のとおり配置する。

続きを読む

python tkinter クラス継承のサンプルスクリプト

python tkinter クラス継承のサンプルスクリプト

前回に引き続き、tkinterのクラス継承についてまとめている。
今回はサンプルスクリプトを中心に具体的な方法について記述する。

前回の記事
python クラスの定義と継承とは - memopy

続きを読む

python tkinterでGUIアプリを作る(第2弾~カレンダー編①~)

python tkinterでカレンダー・スケジュール管理アプリを作る

python tkinterでGUIアプリを作る第2弾。第1弾では、家計簿アプリを作成した。

第1弾の記事
Python3,Tkinter,sqlite3でGUIアプリ(家計簿ソフト)を作りたい - memopy

第2弾として、今回テーマに選んだのは、カレンダー・スケジュール管理アプリだ。
f:id:memopy:20170614235954p:plain

tkinterには、カレンダーウィジェットというものは存在しないため、ウィジェットを組み合わせて文字通り一から組み立てていく必要がある。どこまでの機能を実装できるか不透明であるが、いろいろとチャレンジしてみたい。

続きを読む

python tkinter クリックされたウィジェットのテキストや属性を取得する

python tkinter クリックされたウィジェットを取得する

f:id:memopy:20170611175835p:plain
前回の記事は、ボタンがクリックされたとき、commandオプションにコールバック関数を定義して、どのボタンがクリックされたのか調べる方法を紹介した。
python tkinter どのボタンが押されたか判定する方法 - memopy
今回は、bindメソッドを使用して、前回よりもっと幅広く、ボタンに限らず全てのウィジェットに対して、それらがクリックされたときに、そのテキストや色などの値を取得する方法を解説する。
参考サイト(英語)
http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/events.html

続きを読む

python tkinter どのボタンが押されたか判定する方法

python tkinter どのボタンが押されたか判定する方法

ボタンをforループ文などで機械的にたくさん作った時のコールバック関数の定義について整理する。
f:id:memopy:20170611175835p:plain

続きを読む