我遇到了這個問題,並找出解決方案。但是,我不明白爲什麼它的行爲如此。python命令行參數必須用引號包裝?
假設我有一個script1.py來運行,它需要來自命令行,路徑和日期的兩個輸入。對於/ root/x/y *,有兩個文件夾,即/ root/x/y1 /和/ root/x/y2 /。在這兩個文件夾下,有一個文件夾20160621.
該腳本如下所示。
if __name__ == "__main__":
start_time = time.time()
print sys.argv[1], sys.argv[2]
main(expPath = sys.argv[1], expDate = sys.argv[2])
如果我通過
python script1.py /root/x/y*/ 20160621
調用腳本我期望得到的
/root/x/y*/ 20160621
打印但是,有時候,我越來越
/root/x/y1/ /root/x/y2/
如果我通過引用這兩個參數來調用腳本,它的工作原理是a預計。
python script1.py '/root/x/y*/' '20160621'
有什麼特別的理由或解釋這種差異?