増子良太のブログです

増子良太が書いているブログです。テーマをしぼらず、思いついたものをただひたすら書いていきます。

pythonで0-9までとa-zのディレクトリを5分くらいで簡単に作成する

   

rmascoです

さてさて、今日はpythonです(笑)

昔にpython勉強したいなと思っていたけど、

なかなかガッツリ取り組めるほど時間がなくて、

結局やらずじまい。

これぞ「やるやる詐欺」なわけで、

結構得意技ですw

そんななか、昨日仕事で使用しているVMに

0〜9までのディレクトリと、a〜zまでのディレクトリを作成するという

面倒な作業が発生しました。

もちろん手動なんてありえません。

プログラマたるもの、どんな時でも1ステップ、いや、全部自動化できないかと考えるべきだと、

日頃から思っています ← ただのめんどくさがり

いつもperlでお仕事しているのでperlで書けばいいものを、

なぜかpythonで書いてみたくなり、

簡単だからやってみるかとやってみました。

実際やってみたところ、すごく簡単にできました。

ソースはこちら↓

すごく簡単です。それでは解説!

まずは1行目ですが、これはos依存の機能やコマンドを使用するためのモジュールをインポートしています。

この後が少し苦労しました。

a-zまでのすべてのリストをループさせるためにどうしたら良いのか調べてみると、下記のような記述でいけることがわかりました。

※参照元:[初学者]Pythonで文字A~Zのリストを作る

ordは与えられた文字を表す数値を返してくれる関数?です。

aからzは文字で表すとバラバラですが、数値に直すと連番になっているので、

aを表す数値からzを表す数字までをrange関数でリストにして、for文でループしています。

最後のセミコロンはここからループですよってものみたい?

下記の行は、作成済みのディレクトリを作成するとエラーになってしまうので、

ディレクトリがあるのかをチェックしています。

chr(i)は数値にした文字をもう一度元の文字に直しています。

なのでここは

とか内部ではなっているはず!?

そして肝心のディレクトリ作成部分はこちらです

すっごいわかりやすい関数名ありがとう!!

osにmkdirコマンドってありますが、まさにそれですね。

引数はさっきと同じように数値化された文字を元に戻し、

ディレクトリ名として渡します。

お気づきの方もいるかと思いますが、このスクリプト、

カレントディレクトリ、つまり作成したいディレクトリに置かないと、

スクリプトがある場所でディレクトリを作成してしまいますので、

ご使用の際には注意してください。

 - その他