我是python的新手,我正在向python发送一个php json编码数组喜欢这个:
$myArray = array(1,5,8,6);
$jsonArray = json_encode($myArray);
exec("python ".$absPath."/myPythonFile.py $absPath $parm $jsonArray",$out);
这是python代码:
from pydfs_lineup_optimizer import *
import sys
import json
optimizer = LineupOptimizer(FanDuelBasketballSettings)
optimizer.load_players_from_CSV("test_new.json")
try:
players_that_you_want = []
for number in sys.argv[3]:
print number
lineups = optimizer.optimize()
for l in lineups:
print(l)
except LineupOptimizerException as e:
print(e)
当我尝试在python文件内打印number
变量时,python是这样返回的:
[
1
,
5
,
8
,
6
]
我想要这样:
1
5
8
6
知道我做错了什么吗?
参数是作为字符串发送的,因此您实际上并没有通过循环将其拆分为正确的值。您可以尝试去掉方括号并使用 split(',')
.
input = "[1,2,3,4]"
processed_input = input.strip('[]').split(',')
上面的代码将完成这项工作。
这是我们需要做的:
from pydfs_lineup_optimizer import *
import sys
import json
optimizer = LineupOptimizer(FanDuelBasketballSettings)
optimizer.load_players_from_CSV("test_new.json")
try:
players_that_you_want = []
for number in json.loads(sys.argv[3]):
print number
lineups = optimizer.optimize()
for l in lineups:
print(l)
except LineupOptimizerException as e:
print(e)