У меня есть два сценария, которые называются отдельно, 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'}]
)