Browse Source

Prevent broken pipe errors

Petra Lamborn 5 years ago
parent
commit
6e0455ebe2
1 changed files with 3 additions and 0 deletions
  1. 3
    0
      py/pickletocsv.py

+ 3
- 0
py/pickletocsv.py View File

1
 from argparse import ArgumentParser, FileType
1
 from argparse import ArgumentParser, FileType
2
 from sys import stdout
2
 from sys import stdout
3
+from signal import signal, SIGPIPE, SIG_DFL
3
 import pandas as p
4
 import pandas as p
4
 
5
 
5
 def main():
6
 def main():
7
+    signal(SIGPIPE, SIG_DFL) # Prevent broken pipe errors when piping to less or head
6
     parser = ArgumentParser(description='Transform a "pickle" to a csv file')
8
     parser = ArgumentParser(description='Transform a "pickle" to a csv file')
7
     parser.add_argument(dest="input",      help = "input pickle path", type = FileType('rb'))
9
     parser.add_argument(dest="input",      help = "input pickle path", type = FileType('rb'))
8
     parser.add_argument(dest="output",  nargs="?",   help = "output csv path", type = FileType('w'))
10
     parser.add_argument(dest="output",  nargs="?",   help = "output csv path", type = FileType('w'))
27
 
29
 
28
     ptc.to_csv(args.output, index = args.rownames)
30
     ptc.to_csv(args.output, index = args.rownames)
29
 
31
 
32
+
30
     args.input.close()
33
     args.input.close()
31
     args.output.close()
34
     args.output.close()
32
 
35