當使用optparse時,我希望在選項後獲得整個字符串,但我只能將其中的一部分獲得到第一個空格。Python optparse和參數中的空格
例如爲:
python myprog.py --executable python someOtherProg.py
我在 '可執行文件' 得到的是隻是 '蟒蛇'。
是否可以使用optparse解析這些行或者您是否必須使用argparse來執行此操作?
€:我已經嘗試過在「S包圍它,但進一步挖掘到的代碼後,我發現,子進程調用不能處理的參數
與命令行的字符串被塞進一個。列表 'ARGS'。
args = [self.getExecutable()] + self.getArgs().split()
這就像
"[python D:\\\workspace\\\myprog\\\src\\\myprog.py]"
這給了我的系統無法找到文件例外。當我使用
args[0]
它的工作原理。但是我放棄了可執行文件的參數。
如果子進程模塊沒有首先獲取字符串,那麼它將從列表中構建一個cmdline,因此我目前無法解釋該行爲。
準備被驚呆了:Python的3.5下,一名逃脫的空間被sys.argv中轉義!在C中,我們有'傻蟒一些':'argv [1]'='「python」','argv [2]'='「some」'。 '傻'python一些'':'argv [1]'='「python some」'。和'傻蟒\ some':'argv [1]'='「python some」'。但是對於Python 3.5,我們有'silly.py python some':'argv [1]'='「python」''''''''''''''''''''''''''。 'silly.py「python some」':'argv [1]'='「python some」'。和'silly.py python \ some':'argv [1]'='「python \\」',''some「'。驚人! – Urhixidur 2016-11-04 19:43:49