2017-09-12 8 views
1

私は非常にPythonに慣れています。 私は引数に値を渡さなかった場合、その引数の値を要求するスクリプトを書いています。渡された場合は、その値を選択して続行する必要があります。これらの値を超えることは、コマンド行からのものです。 私は以下のコードを試して、Pythonは変数が初期化されていないというエラーを投げています。スクリプトを実行するためのパラメータはコマンドラインからpython3.xスクリプトに渡されます

if (fileName == None) 
    fileName == "C:\\filename" 
print(fileName) 

コマンドラインコール: - script.py "C:\ファイル名"

スタックトレース: - 場合(NO_ERROR ==なし) ^ にSyntaxError:無効な構文

+0

小さな問題は、私は同じ、 例のためにも、名前と値のペアを使用することができます。これは私の実際の必要条件です。私はこれをjavascriptで達成することができます。私もPythonで同じ方法を使用したいと思います。出来ますか? – Srikanth

答えて

0

のsysモジュールはナンプラーに多くのオプションを提供してif文の末尾にコロンが欠落していますyにコマンドライン引数を指定します。下の例の が役に立ちます。 script.py fileNameに= "C:\ファイル名" だけで、コマンドラインのように - :

import sys 
#storing the argument in string 
st=" ".join(sys.argv) 
#splitting the list to get the file name and storing it in list 
var=st.split('=') 
if len(sys.argv)<2: 
    print "Enter Argument\n" 
else: 
    print 'Argument found' 
    print var[1] 
+0

小さな質問、同じ名前のペアを使用することもできますか?例: - script.py fileName = "C:\ filename"コマンドラインと同じです。これは私の実際の必要条件です。私はこれをjavascriptで達成することができます。私もPythonで同じ方法を使用したいと思います。出来ますか? – Srikanth

+0

今すぐ確認してください。これでうまくいくはずです –

1

あなたは

if (fileName == None): 
    fileName = "C:\\filename" 
print(fileName) 
+0

申し訳ありませんが、2行目も構文上正しいとは限りません。代入は単一の '='のみを使用します。 – ShreyasG

+1

また、1行の括弧は冗長です – JJAACCEeEKK

関連する問題