我需要将一个参数传递到在 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 的 f 字符串的一部分,请勿使用,因为这会导致语法无效。所以只需去掉这些大括号即可:
print(my_encoder('"""+val+"""'));
"""