(obj, file_path, gzip=False)
Pickle obj to file_path with gzipping and failure protection.
Pickle obj to file_path with gzipping and failure protection.
Pickle obj to file_path with gzipping and failure protection .
def pickle_to_file(obj, file_path, gzip=False):
  """Pickle obj to file_path with gzipping and failure protection."""
  # Pickle to tmp file and overwrite to prevent writing partial files.
  tmp_file_path = file_path + '._tmp_'
  with tf.io.gfile.GFile(tmp_file_path, 'wb') as f:
    if not gzip:
      pickle.dump(obj, f, protocol=pickle.HIGHEST_PROTOCOL)
    else:
      with gzip_lib.GzipFile(fileobj=f, compresslevel=2) as gzipf:
        pickle.dump(obj, gzipf, protocol=pickle.HIGHEST_PROTOCOL)
  # Moving a file is much less error-prone than pickling large files.
  tf.io.gfile.rename(tmp_file_path, file_path, overwrite=True)
def pickle_to_file ( obj , file_path , gzip = False ) : # Pickle to tmp file and overwrite to prevent writing partial files. tmp_file_path = file_path + '._tmp_' with tf . io . gfile . GFile ( tmp_file_path , 'wb' ) as f : if not gzip : pickle . dump ( obj , f , protocol = pickle . HIGHEST_PROTOCOL ) else : with gzip_lib . GzipFile ( fileobj = f , compresslevel = 2 ) as gzipf : pickle . dump ( obj , gzipf , protocol = pickle . HIGHEST_PROTOCOL ) # Moving a file is much less error-prone than pickling large files. tf . io . gfile . rename ( tmp_file_path , file_path , overwrite = True )