私はしばしばデータ解析スクリプトを書く必要があります。私は、モジュールとスタンドアロンスクリプトの2通りの方法でスクリプトを実行できるようにしたいと考えています。したがって、たとえば:Pythonスクリプトを直接実行するよりも、インポート時の動作が異なるようにすることはできますか?
def parseData(filename):
# data parsing code here
return data
def HypotheticalCommandLineOnlyHappyMagicFunction():
print json.dumps(parseData(sys.argv[1]), indent=4)
ここでの考え方は、別のPythonスクリプトで、私はimport dataparser
を呼び出すことができますし、私のスクリプトでdataParser.parseData
へのアクセス権を持っている、またはコマンドラインで、私はちょうどpython dataparser.py
を実行することができ、それは私のHypotheticalCommandLineOnlyHappyMagicFunction
を実行するだろうとされてjsonとしてデータを標準出力にシャントします。これはPythonでこれを行う方法はありますか?