【发布时间】:2013-07-08 22:05:10
【问题描述】:
我正在尝试读取传递给使用Ti.Process.createProcess 调用的 Python 脚本的参数。
当我运行以下代码时:
导入系统
sys.argv
我得到错误:
文件“”,第 2 行,在
AttributeError: 'module' 对象没有属性 'argv'
看起来sys 对象没有argv 属性。
我做错了吗?有什么建议吗?
【问题讨论】:
我正在尝试读取传递给使用Ti.Process.createProcess 调用的 Python 脚本的参数。
当我运行以下代码时:
导入系统
sys.argv
我得到错误:
文件“”,第 2 行,在
AttributeError: 'module' 对象没有属性 'argv'
看起来sys 对象没有argv 属性。
我做错了吗?有什么建议吗?
【问题讨论】:
您的 python 路径中似乎还有另一个 sys.py。
【讨论】:
sys.py 或调试它?
import os for i in os.walk("/path/to/your/Tide/SDK/"): if "sys.py" in i[2]: print "Found sys.py in folder",i[0]
我发现了错误。
我正在使用此代码测试代码:
和
我收到了错误:
文件“”,第 2 行,在
AttributeError:“模块”对象没有属性“argv”
但是当我跑步时:
var path = Ti.API.getApplication().getResourcesPath();
var p = Ti.Process.createProcess(['python', path + '\search_client.py', param1, param2]);
p.setOnReadLine(函数(数据){doStuff(数据)});
p.launch();
我得到了正确的结果。
因此,在 TideSDK 中,python 脚本只有在作为“进程”执行时才能访问 sys.argv 元素,而在作为“
【讨论】: