我需要將一個字符串傳遞給一個 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
提交
取消