ミドリコ雑記帖

ミドリコが思いついたことをなんでも書く場所。Amazonアソシエイト参加、楽天アフィリエイト利用しています

【#07】プログラム完全初心者がPythonを触ってみた(現在時刻を名前に入れたフォルダを作る)

 前の記事はこちら。
midoliko-tsuki.hatenablog.com


 ブログを書きながら調べ物しながらプログラムを書くのは分かりやすくていいのですが、ノートパソコンの狭い画面ではだんだんしんどくなってきました。広いモニタがほしい。

 それはさておき、実際にコードを書いてみようの巻です。

  1. 結果フォルダを作成。フォルダ名は「ocr_作業した日時(yymmddhhmmss)」
  2. PDFフォルダのファイル名リストを取得
  3. ファイル名リストからPDFを選び出して変換対象リストを作る
  4. 変換対象リストから変換対象ファイルを選択する
  5. 変換対象ファイルの最後3文字をtxtに置換した文字列を作る
  6. 結果フォルダ内にテキストファイルを新規作成する。ファイル名は前項で作った、変換対象ファイルの最後3文字をtxtに置換した文字列
  7. 変換対象ファイルを画像に変換
  8. OCR
  9. テキストデータに変換する
  10. テキストファイルに保存して閉じる

 importは最初にまとめて書いといたらいいよ、と言われたのでまとめて書くことにしました。なんでだろう、その都度インポートしてもいいのでは?と思いましたが、後からコードを書き足したときに、importの前後でエラーがでたり挙動が変わったりすることがあると言われました。こわい絶対最初に書く。

 で、まずは結果を収納するフォルダを作成するところから。
yumarublog.com
 こちらの記事を見ながら書こうとして、どこに作成するかは決めてあったのですが、ぎゃー自分のPC内のパスの取得方法が分からない。

 あわてて検索しました。知らないことばっかりです。
tcd-theme.com

 さて、これでフォルダが作れるぞー! と思ったのですが、そういえば結果フォルダの名前についてなんか決めてなかったっけ……

  • フォルダ名は「ocr_作業した日時(yymmddhhmmss)」

 ぎゃー!めんどくさい!
 いや決めたのは私なんですけど……勉強になるしと思ってそうしたんですけど……。

 そんなわけでフォルダ名に現在時刻を入れる方法を調べました。 
qiita.com

 datetime.datetime.now()で現在日時を取得して、datetime.strftime()でフォーマットを指定。

#現在時刻を取得
objNOW = datetime.datetime.now()

# 結果フォルダのパスを指定
path='/midoliko/python/results'

# 結果フォルダ名
dir_name = 'ocr_'+objNOW.strftime('%y%m%d_%H%M%S')

 ようやく結果フォルダを作るところが終わりました。これでやっと一行ぶんです。先は長い。