Вы можете использовать метод '' .join. например,
# print 'foo', 'bar', 'baz' separated by spaces
print 'foo', 'bar', 'baz'
# print separated by commas
print ', '.join(['foo', 'bar', 'baz'])
EDIT:
Хорошо, я неправильно понял цель OUTPUT_RECORD_SEPARATOR
, поэтому '. Присоединиться не то, что вы хотите.
print 'foo'
эквивалентно sys.stdout.write('foo'+'\n')
, так что вы можете свернуть свою собственную функцию печати:
def myprint(*args, end='\n'):
sys.stdout.write(' '.join(args) + end)
Или перейти на один шаг дальше с заводской функцией:
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')
Наконец, если вы решитесь, вы можете переопределить 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))
Это приведет к тому, что операторы print
приведут к альтернативному окончанию строки. Использование:
sys.stdout = MyWrite('!\n')
print 'foo'
# prints: foo!
Обратите внимание, что вам может потребоваться переопределить больше, чем просто write () или, по крайней мере, предоставить перенаправления для таких вещей, как MyWrite.flush (), в sys.old_stdout.flush ().