mirror of
https://github.com/wassname/segpy.git
synced 2026-08-06 13:30:18 +08:00
Fixes issues revealed by the new loadsave.py example program.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
"""A simple example which loads a SEG Y file and saves it again.
|
||||
|
||||
Usage:
|
||||
|
||||
loadsave.py <in.segy> <out.segy>
|
||||
|
||||
"""
|
||||
import os
|
||||
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
from segpy.reader import create_reader
|
||||
from segpy.writer import write_segy
|
||||
|
||||
|
||||
def load_save(in_filename, out_filename):
|
||||
with open(in_filename, 'rb') as in_file, \
|
||||
open(out_filename, 'wb') as out_file:
|
||||
|
||||
segy_reader = create_reader(in_file)
|
||||
write_segy(out_file, segy_reader)
|
||||
|
||||
|
||||
def main(argv=None):
|
||||
if argv is None:
|
||||
argv = sys.argv[1:]
|
||||
|
||||
try:
|
||||
in_filename = argv[0]
|
||||
out_filename = argv[1]
|
||||
except IndexError:
|
||||
print(globals()['__doc__'], file=sys.stderr)
|
||||
return os.EX_USAGE
|
||||
|
||||
try:
|
||||
load_save(in_filename, out_filename)
|
||||
except (FileNotFoundError, IsADirectoryError) as e:
|
||||
print(e, file=sys.stderr)
|
||||
return os.EX_NOINPUT
|
||||
except PermissionError as e:
|
||||
print(e, file=sys.stderr)
|
||||
return os.EX_NOPERM
|
||||
except Exception as e:
|
||||
traceback.print_exception(type(e), e, e.__traceback__, file=sys.stderr)
|
||||
return os.EX_SOFTWARE
|
||||
return os.EX_OK
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user