2
我有兩個獨立調用的腳本,Script 1
調用Script 2
,並返回兩者的輸出。結果是一個JSONP字符串,它有一個換行符,由Script 2
在print
的末尾添加一個新行。Python 2.7:JSONP的字符串格式化
我正在運行Python 2.7.10
。執行第二個腳本時,我通常會遇到以下錯誤之一:
TypeError: expected a character buffer object
或 invalid syntax
使用Python 3命令。
如何確保結果字符串中不存在換行符?
腳本1(腳本2調用):
jsonstring = subprocess.check_output(['python',"scripts/"+path+'.py'],shell=False)
return "%s(%s)" % (request.query.callback, jsonstring)
腳本2:
import json
def func():
jsonString = \
"""[
{ "DT_RowId": "row_1", "size": "medium", "color": "red" },
{ "DT_RowId": "row_2", "size": "large", "color": "blue" },
{ "DT_RowId": "row_3", "size": "medium", "color": "white" }
]"""
print(jsonString), #end="", flush=True) Available from Python 3
func()
得到的字符串:
jQuery111306445024223066866_1447346051405([{'size': 'medium', 'color': 'red', 'DT_RowId': 'row_1'}, {'size': 'large', 'color': 'blue', 'DT_RowId': 'row_2'}, {'size': 'medium', 'color': 'white', 'DT_RowId': 'row_3'}]
)