
我需要将一个参数传递到在 python 中执行的 php 代码中
import subprocess
def php(code):
p = subprocess.Popen(["php","-r", code],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out = p.communicate() #returns a tuple (stdoutdata, stderrdata)
if out[1] != b'': raise Exception(out[1].decode('UTF-8'))
return out[0].decode('UTF-8')
val = str(1234)
code = """ \
function my_encoder($in){
$out = base_convert($in,16,36);
return ($out);}
print(my_encoder('"""+{val}+"""'));
"""
print(php(code))
我不知道如何在 php 代码中输入 val 作为 my_encoder 函数的参数。
这本书给出了一份关于python这门优美语言的精要的参考。作者通过一个完整而清晰的入门指引将你带入python的乐园,随后在语法、类型和对象、运算符与表达式、控制流函数与函数编程、类及面向对象编程、模块和包、输入输出、执行环境等多方面给出了详尽的讲解。如果你想加入 python的世界,David M beazley的这本书可不要错过哦。 (封面是最新英文版的,中文版貌似只译到第二版)
正确答案
如果 {, } 不是 python 的 f 字符串的一部分,请勿使用,因为这会导致语法无效。所以只需去掉这些大括号即可:
print(my_encoder('"""+val+"""'));
"""










