How can I get print function output ? - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: How can I get print function output ? (/thread-3250.html) |
How can I get print function output ? - harun2525 - May-08-2017 i want to save print function output to my var without printing console. (sprintf function in C) var = specific_print("hello", "my dear", "how are", "you", sep = " ", end = " ?", return_string = True, print_console = False) print(var) # output => hello my dear how are you ? RE: How can I get print function output ? - volcano63 - May-08-2017 You can't - print function returns None In [5]: print(print(1)) 1 NoneHere is what print function can do In [7]: print? Docstring: print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. Type: builtin_function_or_methodThere is also no need to. If you want formatted output, you may use formatting options; if you want to concatenate strings with spaces - ' '.join([<list of strings>])is your friend RE: How can I get print function output ? - harun2525 - May-08-2017 @volcano63, Thanks. i solved my problem with the following code def myprint(*args, sep=" ", end="\n"): return sep.join(args) + end RE: How can I get print function output ? - nilamo - May-08-2017 You could also redirect the output to a stringio object... >>> import io >>> text = io.StringIO() >>> print("just some stuff", file=text) >>> print("more things", file=text) >>> text.seek(0) 0 >>> text.readlines() ['just some stuff\n', 'more things\n'] >>> text.getvalue() 'just some stuff\nmore things\n' RE: How can I get print function output ? - wavic - May-09-2017 +1 for io.StringIO Or you can rewrite the print function print_bak = print def print(*args, **kwargs): return args text = print([1,2,3,4]) print = print_bak RE: How can I get print function output ? - volcano63 - May-09-2017 (May-08-2017, 09:49 PM)nilamo Wrote: You could also redirect the output to a stringio object... (May-09-2017, 09:39 AM)wavic Wrote: Or you can rewrite the print function With all due respect, those are more of hacks... Though for concatenating many small strings into a bigger one io.StringIO is a good option (especially if performance is an issue ..., especially for OP )
|