2015-11-12 3 views
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'}] 
) 

ответ

Смежные вопросы