2013-07-08 21 views
0

我想讀取傳遞給與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屬性。

我做錯了什麼?有什麼建議麼?

回答

0

看起來你在你的Python路徑中有另一個sys.py

+0

你知道我正在使用TideSDK,對吧?我怎麼知道我在PATH中是否有另一個'sys.py'或者調試它? –

+0

不確定...您可以使用簡單的python腳本: 'import os for i in os.walk(「/ path/to/your/Tide/SDK /」): if「sys.py」in我[2]: 打印「發現sys.py文件夾中」,我[0] ' – JadedTuna

+0

感謝您的幫助,我想我找到了問題所在。 –

0

我發現了錯誤。

使用此代碼我測試的代碼:

<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爲「<腳本>」。