Forum
>>
Programmazione Python
>>
Files e Directory
>>
creare un file ogni 24 ore
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da andrea d'alessandro |
2017-08-29 13:19:00 - creare un file ogni 24 ore
|
Salve a Tutti,
ho fatto un piccolo script che gira su raspberry collegato alla seriale di un gps. apre la seriale e mi scrive tutto cio che riceve in un file che viene chiamato (data + ora 'stazione1.txt') funziona bene solo che vorrei fare in modo da far chiudere il file alle 23.59.59 e farlo riaprire con la data del gg seguente. in poche parole vorrei avere dei files giornalieri invece di un unico grande files.......mi date qualche indizio please????? ecco il mio codice: qualsiasi consiglio e bene accetto import serial import time import datetime timestr = time.strftime("%Y%m%d-%H%M%S") #mese giorno anno ore minuti indirizzo = '/dev/ttyUSB0' #indirizzo dove andare a leggere i dati baud = 9600 #baud rate per la porta seriale file_name = 'stazione1.txt' #nome del file moode = 'a' #append streaming = serial.Serial(indirizzo,baud) timestr = time.strftime("%Y%m%d-%H%M%S") try: streaming.isOpen() print ('la porta : ',indirizzo +' è aperta') except: ('Errore') exit() if (streaming.isOpen()): contatore=0 while True : linea= str(streaming.readline()) contatore += 1 contatoreSTR=str(contatore) #devo convertire in stringa altrimenti non scrive sul file linea2=(contatoreSTR +linea) fo = open(timestr+file_name,fmode) fo.write(linea2) else: print(indirizzo +' non si apre') |
|
Scritto da stix77 |
2017-08-29 14:57:51 - Re: creare un file ogni 24 ore
|
io per la creazione di un file di testo utilizzo il modulo pickle. ora, lo script sotto crea e lavora con un unico file, nominato da me test.txt
tu se vuoi fare una cosa giornaliera basta che quell'indirizzo fisso lo trasformi come concatena (chessò, nome fisso + data giornaliera) e lui ti produce un file nuovo import pickle #per leggere il contenuto def leggere(): test_file = open('C:\\Users\\Desktop\\test.txt') #notare che va messa la doppia barra per evitare di confondere python invocando una funzione text = test_file.read() print(text) test_file.close() #per scrivere il contenuto def scrivere(): text = input("inserisci il testo: ") #io ho messo input, tu alla variabile text test_file = open('C:\\Users\\Desktop\\test.txt', 'w') test_file.write(text) test_file.close() |
|
Scritto da andrea d'alessandro |
2017-08-30 11:42:29 - Re: creare un file ogni 24 ore
|
Ti ringrazio per la risposta....ma credo che il tuo esempio non faccia quello che sto cercando di fare.....
e credo che tu non abbia bisogno di importare pikle per scrivere o leggere un file. Io devo : 1 prendere delle stringhe che in continuazione escono dalla seriale 2 scriverle in un file con il nome della data e ora Dell inizio del file. 3 alle 23:59:59 chiudere il file. 4 punto 1 5 punto 2 6punto 3 etc etc |
|
Scritto da stix77 |
2017-08-30 16:56:44 - Re: creare un file ogni 24 ore
|
ah sinceramente non so come si faccia senza pickle, io l'ho imparato a usare leggendolo da un libro e mi trovo bene.
comunque pickle secondo me fa a caso tuo, con 3 righe di codice ti apre un file txt e ci scrivi dentro quello che vuoi e poi lo chiudi. poi visto che la data cambia, come ti ho detto col concatena cambi nome al file txt e ti crea un altro file e così via --- Ultima modifica di stix77 in data 2017-08-30 17:01:13 --- |
Pagina: 1
Esegui il login per scrivere una risposta.