そばっしーの備忘録

そばっしーのそばっしーによるそばっしーのための備忘録

PythonでWindows操作 #1

リストに基づいたフォルダ作成

はじめに

よく機械学習などで使われるPythonですが、今回はWindowsを操作する第一回目として、フォルダの作成をしてみたいと思います。

使用環境

1.リストからフォルダ作成

Pythonのプログラム単体で作ることのできるリストからフォルダを生成します。 Pythonの基本的な使い方に関しては、以下のサイトを参考にしてください。

Python Web

Python 3.6 Documentation

例1 連番のフォルダ

00から99までの100個のフォルダを作ってみます。 まずはじめに、00から99までの文字列が入ったリストを作っていきます。

numbers = []
for x in range(100):
    numbers.append("{:02}".format(x))  # ゼロ埋めした文字列

今回使うのは、Python上でWindowsコマンドプロンプトを操作する os.system を使います。windowsコマンドプロンプトでは mkdir <フォルダ名> でフォルダを作成することができるので、

import os  #<=忘れない!!

numbers = []
for x in range(100):
    numbers.append("{:02}".format(x))

for name in numbers:
    os.system("mkdir {}".format(name))

これで、ソースの置かれているルートディレクトリに00から99までのフォルダが生成されました。 f:id:cromalto:20180731010618p:plain どうしても1行で書きたい変態さんはこちら。。

for i in range(100): os.system("mkdir {:02}".format(i))

例2 偶数番のフォルダ

上の例1のコードを少し変えるだけで偶数番だけのフォルダの作成ができます。

import os

numbers = []
step = 2  # stepを2に
for x in range(0, 100, step):
    numbers.append("{:02}".format(x))

for name in numbers:
    os.system("mkdir {}".format(name))
for i in range(0, 100, 2): os.system("mkdir {:02}".format(i))

2.CSVデータなどからフォルダ作成

CSVのような外部リストからフォルダを作りたい時結構ありますね。今回はExcelのオートフィル機能を使ってフォルダを作成します。

まずはExcelで何らかのデータを作成 f:id:cromalto:20180731012143p:plain ファイル>名前を付けて保存から、”CSV[カンマ区切り]”を選択してルートディレクトリに保存。あとはPythonの標準モジュールのcsvを使ってリストを作成して、フォルダを生成します。

import os
import csv  #<=忘れない!

name = []
with open("Book1.csv", mode="r") as file:
    read = csv.reader(file)
    for line in read:
        name += line  # lineはリストで与えられる

for n in name:
    os.system("mkdir {}".format(n))

無事に作成されました。。 f:id:cromalto:20180731013723p:plain

さいごに

今回はPythonWindows活用法としてリストからフォルダを作成してみました。今回のプログラムの一部を変えるだけで、AからZのフォルダそれぞれに00から99までのフォルダを作成、といったこともできると思うのでぜひ実践してみてください!

では(@^^)/~~~