我正在用python编写一个嵌入式pig脚本,我想传递如下参数:
$ pig myscript.py arg1 arg2
我希望 sys.argv 成为 ['myscript.py', 'arg1', 'arg2'] ,但它是空的。知道如何将命令行参数传递给嵌入式pig脚本吗?
sys.argv
['myscript.py', 'arg1', 'arg2']
f3temu5u1#
正在重新打开此线程。。。基本上,我在脚本中创建了一个环境变量:
$ export file_in=filename; pig -useHCatalog ./POC_Python_Wrapper.py
在剧本中:
import os file_in = os.getenv('file_in', 'Unknown')
7qhs6swi2#
sys.argv 应该包括可执行文件的名称,所以 ['myscript.py', 'arg1', 'arg2'] ,但这似乎是一个未解决的问题,已在最新版本的pig中修复:https://issues.apache.org/jira/browse/pig-2548.或许可以检查一下您使用的是不是比0.10.0更新的东西。
2条答案
按热度按时间f3temu5u1#
正在重新打开此线程。。。基本上,我在脚本中创建了一个环境变量:
在剧本中:
7qhs6swi2#
sys.argv
应该包括可执行文件的名称,所以['myscript.py', 'arg1', 'arg2']
,但这似乎是一个未解决的问题,已在最新版本的pig中修复:https://issues.apache.org/jira/browse/pig-2548.或许可以检查一下您使用的是不是比0.10.0更新的东西。