I know I can write a CSV file with something like:
with open('some.csv', 'w', newline='') as f:
How would I instead write that output to stdout?
sys.stdout is a file object corresponding to the program's standard output. You can use its write() method. Note that it's probably not necessary to use the with statement, because stdout does not have to be opened or closed.
So, if you need to create a csv.writer object, you can just say:
import sys
spamwriter = csv.writer(sys.stdout)
writer = csv.writer(sys.stdout, lineterminator=os.linesep)lineterminator=os.linesep makes no sense, as on Windows this is no-op. You probably meant lineterminator='\n', which is also NOT an obviously correct solution (see comments on this post). Reconfiguring sys.stdout to disable universal newlines handling is a possible alternative.lineterminator option (or property of a custom Dialect subclass) cause the writer to write only a linefeed and not Cr+Lf when running on Windows. That results in CrCrLf when writing through sys.stdout unless Python was run with universal linefeeds disabled.