我很新的蟒蛇。我希望我可以實現通過python作爲我的第一個python腳本的命令行參數。我寫了下面的代碼:實施ARG通過命令行的python的,不工作
def main(argv):
try:
opts, args = getopt.getopt(argv, "hb:b:f", ["help", "bucket=", "folder"])
except getopt.GetoptError:
usage()
sys.exit(2)
s3 = get_files()
for opt, arg in opts:
if opt in ("-h", "--help"):
usage()
sys.exit()
elif opt in ("-b", "--bucket"):
s3.bucketname = arg
elif opt in ("-f", "--folder"):
s3.foldername = arg
print("Came here" + s3.foldername)
s3.download_files()
在-f
命令的參數是我面臨的問題。爲了調試,我使用了print
聲明。我傳遞參數是這樣的:
./hello -b something -f /path
但遺憾的是它打印出:
Came here
但foldername
屬性沒有得到分配任何價值。我犯了什麼錯誤?
在此先感謝。
我建議使用[argparse](http://docs.python.org/library/argparse.html)([教程](http://docs.python.org/howto/argparse.html)),用於命令行參數解析這將使您的任務更容易。 –
但是,爲什麼不工作!它在'elif'語句中捕捉我的'-f'參數。但沒有得到分配給我的'foldername' – sriram
在您發佈的例子縮進不正確。你需要解決這個問題。請記住,在Python中,縮進是語言語法的一部分。 –