我需要将一个字符串传递给一个 RPC 调用,该调用将在另一端被接收并编译为 Javascript。当我的 Javascript 代码有 2.5mi+ 行、utf8 字符和其他需要跳过的行('、`、\'、é、^...)时,问题就来了。我已经尝试使用三引号并将其作为多行字符串插入,然后将 \n 替换为 '',但我不确定它是否可以作为我的终端运行 8 分钟以上而没有产生任何内容(RPC 端和 (我的)python 方面)。api = Savoir(rpcuser, rpcpasswd, rpchost, rpcport, chainname)js = "This would be all my JS Code" print(api.create('txfilter', 'nameOfTheFunction', {}, js))
1 回答

阿波罗的战车
TA贡献1862条经验 获得超6个赞
与其将它全部粘贴到你的 python 文件中,你是否考虑过直接从它已经存在的文件中读取它?
with open("file.js", 'r') as js_file:
js = js_file.read()
# you can put a benchmark here to see how long loading the file takes - or to make sure it loaded correctly
...
api.create('txfilter', 'nameOfTheFunction', {}, js)
这消除了对引号字符、转义字符、换行符等大惊小怪的需要,因为它们都是文件中的样子——python 不解析这个文本,它只是复制它。
我还要提交的是,如果您的 javascript 文件有任何需要在另一端省略的字符,您只需在将它们放入程序之前将它们从所述文件中删除即可。也有可能是 API 调用需要很长时间才能执行,而不是您自己的代码 - 您可以通过print()放置在每行之间的语句或使用调试器来验证这一点。
添加回答
举报
0/150
提交
取消