You may or may not be aware of ASCII delimited text, which has the nice advantage of using non-keyboard characters for separating fields and lines.
Writing this out is pretty easy:
import csv
with open('ascii_delim.adt', 'w') as f:
writer = csv.writer(f, delimiter=chr(31), lineterminator=chr(30))
writer.writerow(('Sir Lancelot of Camelot', 'To seek the Holy Grail', 'blue'))
writer.writerow(('Sir Galahad of Camelot', 'I seek the Grail', 'blue... no yellow!'))
And, sure enough, you get things dumped out properly. However, on reading, lineterminator
does nothing, and if I try to do:
open('ascii_delim.adt', newline=chr(30))
It throws a ValueError: illegal newline value:
So how can I read in my ASCII delimited file? Am I relegated to doing line.split(chr(30))
?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…