lxml является последним, обновляется и включает в себя довольно печатную функцию
import lxml.etree as etree
x = etree.parse("filename")
print etree.tostring(x, pretty_print=True)
Проверьте учебник lxml: http://lxml.de/tutorial.html
Следующее является, вероятно, не самым опрятным путем, но это работает:
1> lists:flatten(io_lib:format("~p", [35365])).
"35365"
РЕДАКТИРОВАНИЕ: я нашел, что следующая функция пригождается:
%% string_format/2
%% Like io:format except it returns the evaluated string rather than write
%% it to standard output.
%% Parameters:
%% 1. format string similar to that used by io:format.
%% 2. list of values to supply to format string.
%% Returns:
%% Formatted string.
string_format(Pattern, Values) ->
lists:flatten(io_lib:format(Pattern, Values)).
РЕДАКТИРОВАНИЕ 2 (в ответ на комментарии): вышеупомянутая функция прибыла из небольшой программы, которую я записал некоторое время назад для изучения Erlang. Я искал строковую функцию форматирования и нашел поведение io_lib:format/2
в erl
парадоксальным, например:
1> io_lib:format("2 + 2 = ~p", [2+2]).
[50,32,43,32,50,32,61,32,"4"]
В то время, я не знал об 'автосглаживающемся' поведении устройств вывода, упомянутых @archaelus и так завершенных, что вышеупомянутое поведение не было тем, что я хотел.
Этим вечером, я вернулся к этой программе и заменил вызовы к эти string_format
функция выше с io_lib:format
. Единственными проблемами, которые это вызвало, были несколько тестов EUnit, которые перестали работать, потому что они ожидали сглаженную строку. Они были легко зафиксированы.
я соглашаюсь с @gleber и @womble, что использование этой функции является излишеством для преобразования целого числа к строке. Если это - все, в чем Вы нуждаетесь, используете integer_to_list/1
. KISS!
Существует также integer_to_list/1
, который делает точно, что Вы хотите без уродства.
Как в стороне, если когда-нибудь необходимо иметь дело со строковым представлением плаваний, необходимо посмотреть работа , который Bob Ippolito сделал на mochinum.
Строка представляет собой список:
9> integer_to_list(123).
"123"