Vous pouvez utiliser la méthode '' .join. par exemple.
# print 'foo', 'bar', 'baz' separated by spaces
print 'foo', 'bar', 'baz'
# print separated by commas
print ', '.join(['foo', 'bar', 'baz'])
EDIT:
Ok, j'ai mal compris le but de OUTPUT_RECORD_SEPARATOR
, donc '' .join est pas ce que vous voulez.
print 'foo'
est équivalent à sys.stdout.write('foo'+'\n')
, vous pouvez donc rouler votre propre fonction d'impression:
def myprint(*args, end='\n'):
sys.stdout.write(' '.join(args) + end)
Ou aller un peu plus loin avec une fonction d'usine:
def make_printer(end):
def myprint(*args, end='\n'):
sys.stdout.write(' '.join(args) + end)
return myprint
# usage:
p = make_printer('#')
p('foo', 'bar', 'baz')
Enfin, si vous êtes audacieux , vous pouvez remplacer sys.stdout:
sys.old_stdout = sys.stdout
class MyWrite(object):
def __init__(self, end='\n'):
self.end = end
def write(self, s):
sys.old_stdout.write(s.replace('\n', self.end))
Cela provoquera print
instructions pour produire la fin de ligne alternative. Utilisation:
sys.stdout = MyWrite('!\n')
print 'foo'
# prints: foo!
Notez que vous devrez peut-être remplacer plus il suffit d'écrire() - ou tout au moins fournir réoriente pour des choses comme MyWrite.flush() à sys.old_stdout.flush().
Note aux répondeurs: OUTPUT_RECORD_SEPARATOR est ce qui est sorti après une impression; OUTPUT_FIELD_SEPARATOR est ce qui est sortie entre les arguments à imprimer. – Miles