есть ли спецификатор множественного формата в Python? - PullRequest
7 голосов
/ 03 июня 2009

У меня есть таблица данных шириной 44 столбца, которую мне нужно записать в файл. Я не хочу писать:

outfile.write("%i,%f,%f,$f ... )\n" % (i, a,b,c ...)) 

В Фортране вы можете легко указать несколько спецификаторов формата:

write (*,"(3f8.3)") a,b,c

Есть ли аналогичная возможность в Python?

Ответы [ 4 ]

21 голосов
/ 03 июня 2009
>>> "%d " * 3
'%d %d %d '
>>> "%d " * 3 % (1,2,3)
'1 2 3 '
3 голосов
/ 03 июня 2009

Вы спрашиваете о

format= "%i" + ",%f"*len(row) + "\n"
outfile.write( format % ([i]+row))
0 голосов
/ 04 июня 2009

Обратите внимание, что я думаю, что было бы намного лучше сделать что-то вроде:

outfile.write(", ".join(map(str, row)))

... это не то, что вы просили, но лучше в нескольких отношениях.

0 голосов
/ 03 июня 2009

Не совсем то же самое, но вы можете попробовать что-то вроде этого:

values=[1,2.1,3,4,5]  #you can use variables instead of values of course
outfile.write(",".join(["%f" % value for value in values]));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...