PySdif

SDIF voor Python
Download nu

PySdif Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Eduardo Moguillansky

PySdif Tags


PySdif Beschrijving

SDIF voor Python PYSDIF is een Python-bibliotheek waarmee elk soort SDIF-bestand kunnen lezen en schrijven, om nieuwe soorten frames en matrices te definiëren en om metadata te lezen en te schrijven. De matrices die zijn gelezen van een SDIF-bestand, worden blootgesteld als numpe arrays. Niveau en een interface op hoog niveau. De interface op het laagste niveau voor het lezen en schrijven van SDIF-bestanden weerspiegelt de SDIF-bibliotheek vrij transparant, zodat de voorbeeldbestanden en hulpprogramma's die het met deze rechtstreeks kunnen worden vertaald. In het bijzonder maakt het geen tussenliggende objecten, zelfs de gegevens van de matrices zijn een Numpy-array die is toegewezen aan de C-array die van schijf wordt gelezen, dus geen toewijzing vindt plaats. Terwijl dit voor zeer snelle code zorgt, moet men ervoor zorgen dat de gegevens langer worden gebruikt, omdat deze langer wordt gebruikt, omdat een nieuwe matrix wordt gelezen, deze gegevens niet langer geldig zijn. Om te lezen voor ex. 1TRC-indeling: importeren PYSDIFSDIF_FILE = PYSDIF.SIFILE ('FILESNAME.SDIF') SIG1TRC = PYSDIF.STR2SIGNATURE ("1TRC") TERWIJL SDIF_FILE.EOF: SDIF_FILE.READ_FRAME_HEADER () ALS SDIF_FILE.FRAME_NUMERISCHE_SIGNATUUR) == SIG1TRC: PRINT SDIF_FILE.TIJD voor n in het bereik (SDIF_FILE.MATRICE_IN_FRAME): SDIF_FILE.READ_MATRIX_HEADER () IF SDIF_FILE.MATRIX_NUMERIBISCH_SIGNATURE == SIG1TRC: gegevens = SDIF_FILE.GET_MATRIX_DATA () # Gegevens is nu een numpy array, maar u moet de gegevens kopiëren als # u wilt behouden Nadat u de matrix hebt gelezen. # Eén je leest een nieuwe matrix, deze gegevens zijn niet langer geldig Print Data Nog natuurlijker: van PySdif Import Sdiffilesdif_File = SDiffile ('Filename.sdif') voor frame in SDIF_File: if frame.signature == "1TRC": afdrukken Frame.Tijd voor matrix in frame: if Matrix.signature == "1TRC": print matrix.get_data () De frames en de matrices die het gevolg zijn van de iteratie zijn alleen gegarandeerd geldig zolang geen nieuwe frames en matrices worden gebruikt Een SDIFILE: F = SDIFILE ('NEW_SDIF.SIF', 'W') # Dit zijn optioneel # Voeg wat metadataf.ADD_NVT ({'Name' toe: 'Mijn naam', 'Datum': Time.Asctime (Time.Localtime ( ))}) # Definieer nieuwe frame en matrix-typesf.add_frame_type ('1new', '1ABC NewMatrix, 1FQ0 new1fq0') f.add_matrix_type ('1ABC', 'column1, kolom2') # Nu kunt u beginnen met het toevoegen van framesframe = f. NEW_FRAME ('1NEW', TIME_NOW) Frame.Add_Matrix ('1ABC', ARRAY (, , ...])) Frame.Write () # Zeg dat we het gewoon willen nemen Gegevens van een bestaande # SDiffile, wijzig het en schrijf het terug in-in_sdif = sdiffile ("Exis TING-FILE.SDIF ") OUT_SDIF = SDIFILE (" OUTFILE.SDIF "," W ") OUT_SDIF.CLONE_DEFINITIONS (IN_SDIF) voor IN_FRAME IN IN IN_SDIF: ALS IN_FRAME.SIGNATURE ==" 1NEW ": NEW_FRAME = OUT_SDIF.NEW_FRAME (" 1NIEUW ", in_frame.time) IN_DATA = IN_FRAME.GET_MATRIX_DATA () # We weten dat er slechts één matrix is # Vermenigvuldig de tweede kolom met 0,5 in_data * = 0.5 new_frame.add_Matrix ('1ABC', IN_DATA) New_frame.write () Vereisten: · Python


PySdif Gerelateerde software