DOSプロンプト引数を取得する
System.Einvironmentを使う
Pythonの標準モジュールを使ってDOSプロンプト引数を表示するには次のようにすれば良いです。import sys
for key in sys.argv:
print key
同じようなことを.NET Frameworkでやってみましょう。System.EnvironmentクラスのCommandLineArgsメゾットを使います。from System.Environment import *
for key in GetCommandLineArgs():
print key
.NET Frameworkを使うと一つ一つの名前が長い。でもやっていることは同じなので大体わかるでしょう。では実際に試して見ましょう。まず"argv.py"というスクリプトを書きます。
# coding: shift-jis
from System.Environment import *
for key in GetCommandLineArgs():
print key
#遊びで追加してみました。
from System import Environment
print Environment.CommandLine
raw_input()
"CommandLine"っていうのも気になったので、追加してみました。ここで3行目のfrom文でGetCommandLineArgsは使えるようになったのに、"CommandLine"のためにまたfrom文を書いてあることにコメントします。3行目のfrom文の書き方で、Environmentクラスの持っているメゾットやオブジェクトは使用可能になりますがプロパティは使用できません。CommandLineはプロパティであるため、Environmentクラスを使用できるようにして、10行目のprint文で使用できるようにしています。
実際に使ってみましょう。コマンドプロンプトを起動して"avrg.py"が保存してあるフォルダへ移動します。そこで次のようにコマンドを打ってみます。
"c:\program files\IronPython 2.6\ipy.exe" argv.py This is "Command Line"
出力画面:
c:\program files\IronPython 2.6\ipy.exe
argv.py
This
is
Command Line
"c:\program files\IronPython 2.6\ipy.exe" argv.py This is "Command
Line"
当然"c:\program files\IronPython 2.6\ipy.exe"は"(IronPythonが保存されているフォルダ)\ipy.exe"という意味です。Environment.CommandLineはプロンプトを全部表示したもののようですね。