我想讀取傳遞給與Ti.Process.createProcess
調用的Python腳本的參數。TideSDK Python獲取參數與sys.argv
當我運行下面的代碼:
import sys
sys.argv
我得到的錯誤:
File "", line 2, in <module>
AttributeError: 'module' object has no attribute 'argv'
它看起來像sys
對象沒有一個argv
屬性。
我做錯了什麼?有什麼建議麼?
我想讀取傳遞給與Ti.Process.createProcess
調用的Python腳本的參數。TideSDK Python獲取參數與sys.argv
當我運行下面的代碼:
import sys
sys.argv
我得到的錯誤:
File "", line 2, in <module>
AttributeError: 'module' object has no attribute 'argv'
它看起來像sys
對象沒有一個argv
屬性。
我做錯了什麼?有什麼建議麼?
看起來你在你的Python路徑中有另一個sys.py
。
我發現了錯誤。
使用此代碼我測試的代碼:
<script type="text/python" src="script.py"></script>
和
<script type="text/python">
import sys
print sys.argv
</script>
我收到的錯誤:
File "", line 2, in <module>
AttributeError: 'module' object has no attribute 'argv'
但是當我運行:
var path = Ti.API.getApplication().getResourcesPath();
var p = Ti.Process.createProcess(['python', path + '\search_client.py', param1, param2]);
p.setOnReadLine(function(data){doStuff(data)});
p.launch();
我得到正確的結果。
所以,在TideSDK,Python腳本具有對sys.argv
元素訪問,只有當它excecuted爲「處理」,而不是當它excecuted爲「<腳本>」。
你知道我正在使用TideSDK,對吧?我怎麼知道我在PATH中是否有另一個'sys.py'或者調試它? –
不確定...您可以使用簡單的python腳本: 'import os for i in os.walk(「/ path/to/your/Tide/SDK /」): if「sys.py」in我[2]: 打印「發現sys.py文件夾中」,我[0] ' – JadedTuna
感謝您的幫助,我想我找到了問題所在。 –