Oh! Yummy!!

プログラミングとか投資のこととかご飯のこととかを書きます。

python コマンドライン引数の利用 sys.argv

大事な報告が...
研究発表が無事に終わりました!!!

そこで、今期書いたスクリプトを見直しました。
感想: 汎用性に乏しい!!
いちいち

$vim sample.py

とかで入力ディレクトリと・出力ディレクトリを書き換えなくちゃいけない
他にも、ちょっとしたパラメータを書き換えるのにも不便である。
vim自体は大変便利ですよ。

今更ではあるがコマンドラインから入出力ディレクトリを指定する方法をメモ!!
今までの手法

import os
indir = "/home/user/indir"
outdir = "/home/user/outdir"

infiles = os.listdir(indir)
for infile in infiles:
    #何かしらの処理

 
コマンドライン引数を用いる場合

import os,sys
dirs = sys.argv
indir = dirs[1]
outdir = dirs[2]

infiles = os.listdir(indir)
for infile in infiles:
    #何かしらの処理

これならコマンドラインから以下を入力すればよいので汎用性が高くなったと言える。

$python sample.py /home/user/indir /home/user/outdir

ちなみに、それぞれの引数はスペースで区切る