以下表达式使Mathematica将Python作为子进程调用,让它计算一个反正弦,并将结果作为实数返回:
(* Test #1 -- Mathematica *)
Read["!python -c \"import math; print '%.30f' % math.asin(0.8)\""]
但是,此过程似乎会阻碍某些输入。例如,如果我......
(* Test #2 -- Mathematica *)
Read["!python -c \"import math; print '%.30f' % math.asin(0.000000000000000000000000000000)\""]
...我得到一个'EndOfFile',表示出现了问题。
只需在shell命令行中输入以下内容即可:
$ # Test #3 -- bash
$ python -c "import math; print '% .30f' % math.asin(0.000000000000000000000000000000)"
0.000000000000000000000000000000
我不明白测试#2中出了什么问题。这个问题似乎对我在“0.00000 ......”中放置的零的数量非常敏感。
我在Linux中使用Mathematica 9.0.1。
有人能解释Mathematica在测试#2中的行为吗?