Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Python]modificare file di testo

    ho un file di testo nelle cui righe ci sono una serie di coordinate espresse in millimetri del tipo:
    x34 y57 z23
    x34 y67 z89
    ...
    a me servirebbe avere queste coordinate espresse in pollici.
    Poichè il file di testo è lungo vorrei creare un programmino che faccia la conversione automaticamente creando un nuovo file di testo in cui tutte le coordinate siano state preventivamente convertite.
    Siccome non ho esperienza con le stringhe accetto qualsiasi aiuto su come operare.

  2. #2
    Premetto che sto studiando da poco python e quindi probabilmente ci saranno forme migliori per scriverlo.
    Ad ogni modo, io farei una cosa simile a questa (magari un po' più ordinata, questa è una bozza):

    codice:
    from re import findall
    input_file = open("un_file", "r")
    lines = input_file.readlines()
    input_file.close()
    tot=[]
    fattore=1234 #sostituisci con fattore di conversione appropriato
    for line in lines:
        curr=findall('[-+]?[0-9]+\.?[0-9]*', line)
        curr=map(lambda n: float(n)*fattore, curr)
        tot.append(curr)
    del curr, lines, input_file
    in tot ora hai un array di array di valori, basta scriverli su file o su standard output.

    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  3. #3
    In realtà oltre alle coordinate ci sono righe in cui sono presenti
    altre informazioni.
    Porto un esempio concreto:
    il testo

    g1 x1.724638 y-1.012731
    g2 r1.997999 x1.613302 y-1.178668
    r1.996000 x1.486083 y-1.332506
    r1.994000 x1.344282 y-1.472733


    dovrebbe diventare:
    g1 x0.06789893 y-0.03987118
    g2 r0.07866114 x0.06351564 y-0.04640411
    r0.07858244 x0.05850703 y-0.05246071
    r0.0785037 x0.05292433 y-0.05798144

  4. #4
    ho un file di testo nelle cui righe ci sono una serie di coordinate espresse in millimetri del tipo:
    x34 y57 z23
    x34 y67 z89
    ...
    a me servirebbe avere queste coordinate espresse in pollici.
    Poichè il file di testo è lungo vorrei creare un programmino che faccia la conversione automaticamente creando un nuovo file di testo in cui tutte le coordinate siano state preventivamente convertite.
    Siccome non ho esperienza con le stringhe accetto qualsiasi aiuto su come operare.
    Con open() apri il file, con read() / readlines() lo leggi e con stringa.split(' ') tiri fuori i valori che ti interessano.
    Se la logica è più complessa (es: oltre agli spazi sono implicate altre condizioni o regole) potresti aver bisogno delle regular expression.
    Insomma. Alla tua domanda non si può rispondere in un modo preciso.
    Se hai un problema in particolare ti si può aiutare, altrimenti il discorso è veramente troppo generico.

    Prova a far vedere quello che hai scritto finora.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  5. #5
    grazie tante!!!!
    sono riuscito a risolvere il problema

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.