Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11

    Re: ancora troppa fretta?

    Originariamente inviato da freetom
    Traceback (most recent call last):
    File "D:\PERtoglieregliacapo2.py", line 3, in ?
    fo.write(fo.read().replace('\n', ''))
    IOError: [Errno 9] Bad file descriptor



    Se non erro questo errore lo da quando non riesce a trovare il file di input...controlla di aver scritto correttamente il nome di "fi"
    Vinum dolce gloriosum
    pingue facit et carnosum
    Vinum forte,vinum purum
    reddit hominem securum

  2. #12
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #define BASE_BUFF_CAPACITY 80; //lunghezza base del buffer di lettura
    
    int main(int argc,char* argv[])
     {
    	//dichiarazioni
    	int buff_size = BASE_BUFF_CAPACITY;
    	char* buff = (char*)malloc(buff_size);
    	int ch,i = 0;
    	FILE* fp = NULL;
    	
    	//controllo parameri in input al programma
    	if(argc != 2)
    	{
    		printf("Error: wrong parameters number!");
    		return -1;
    	}
    
    	//apertura in lettura del file
        fp = fopen(argv[1], "r");
        if( fp == NULL )
    	{
    		printf("Error: problem while opening the file %s!", argv[1]);
    		return -1;
    	}
    	
    	//lettura in un buffer di caratteri del contenuto del file
    	//escludendo gli accapo ('\n')
    	ch = fgetc(fp);
    	while(ch != EOF)
    	{
    		if(ch != '\n') //saltiamo gli accapo
    		{
    			buff[i] = ch;
    			i++;
    		}
    		//superati gli 80 caratteri estendiamo il buffer
    		if(i == buff_size)
    			buff_size += BASE_BUFF_CAPACITY;
    		buff = (char*)realloc(buff,buff_size);
    		ch = fgetc(fp);
    	}
    	//aggiungiamo il terminatore di fine stringa
    	buff[i] = '\0';
    	
    	//ripertura del file in sola scrittura (cancella il contenuto precedente)
    	fclose(fp);
    	fp = fopen(argv[1], "w");
    	if( fp == NULL )
    	{
    		printf("Error: problem while opening the file %s!", argv[1]);
    		return -1;
    	}
    	
    	//scrittura del buffer sul file
    	for(i =0 ; buff[i] != '\0'; i++)
    		fputc(buff[i],fp);
    	
    	//rilascio risorse di memoria
    	free(buff);
    	return 0;
     }
    Acc! E' vedendo queste cose che non mi pento di aver scelto python!
    (con tutto il rispetto per il tuo codice, ovviamente)
    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.

  3. #13
    Originariamente inviato da billiejoex
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #define BASE_BUFF_CAPACITY 80; //lunghezza base del buffer di lettura
    
    int main(int argc,char* argv[])
     {
    	//dichiarazioni
    	int buff_size = BASE_BUFF_CAPACITY;
    	char* buff = (char*)malloc(buff_size);
    	int ch,i = 0;
    	FILE* fp = NULL;
    	
    	//controllo parameri in input al programma
    	if(argc != 2)
    	{
    		printf("Error: wrong parameters number!");
    		return -1;
    	}
    
    	//apertura in lettura del file
        fp = fopen(argv[1], "r");
        if( fp == NULL )
    	{
    		printf("Error: problem while opening the file %s!", argv[1]);
    		return -1;
    	}
    	
    	//lettura in un buffer di caratteri del contenuto del file
    	//escludendo gli accapo ('\n')
    	ch = fgetc(fp);
    	while(ch != EOF)
    	{
    		if(ch != '\n') //saltiamo gli accapo
    		{
    			buff[i] = ch;
    			i++;
    		}
    		//superati gli 80 caratteri estendiamo il buffer
    		if(i == buff_size)
    			buff_size += BASE_BUFF_CAPACITY;
    		buff = (char*)realloc(buff,buff_size);
    		ch = fgetc(fp);
    	}
    	//aggiungiamo il terminatore di fine stringa
    	buff[i] = '\0';
    	
    	//ripertura del file in sola scrittura (cancella il contenuto precedente)
    	fclose(fp);
    	fp = fopen(argv[1], "w");
    	if( fp == NULL )
    	{
    		printf("Error: problem while opening the file %s!", argv[1]);
    		return -1;
    	}
    	
    	//scrittura del buffer sul file
    	for(i =0 ; buff[i] != '\0'; i++)
    		fputc(buff[i],fp);
    	
    	//rilascio risorse di memoria
    	free(buff);
    	return 0;
     }
    Acc! E' vedendo queste cose che non mi pento di aver scelto python!
    (con tutto il rispetto per il tuo codice, ovviamente)
    E' possibilissimo che il mio codice in questo caso sia del tutto criticabile, l'ho scritto veramente in cinque minuti quindi non sarà certo il max della robustezza ed eleganza
    .Per quanto riguarda la scelta di python io concordo pienamente che per problemi già "ad lato livello" come questo il c non sia la scelta più adatta (se non per il fatto che si ottiene un exe standalone), tanto è vero che mi sono imparato un altro linguaggio estremamente più robusto (dal punto di vista della gestione degli errori) ,semplice da usare e ricco di funzionalità già implementate: JAVA!
    In certi casi però senza il C non vai da nessuna parte o almeno devi fare i salti mortali. Se vuoi solo un esempio quando devi scrivere un driver di sistema o modificarne una parte come lo fai? In python?O in java?....
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  4. #14
    Originariamente inviato da unomichisiada
    Indubbiamente!Volendo avrei potuto sriverglielo in java, ci avrei messo di meno ed avrei raggiunto una compattezza non lontana dal tuo scripti py.
    Se in java ti avvicini alla compattezza di python mangio un asino (vivo). Già il fatto che non puoi rinunciare all'OOP ti fa allungare il codice del doppio...

    Infatti come hai scritto tu stesso piu' sotto per scrivere un device driver hai il problema opposto, il C sarebbe sicuramente la scelta piu' adeguata.

    Ad ogni problema c'e' la giusta soluzione, in questo caso non puo' essere java, C o C++, ma python, ruby et similia.
    PyGTK GUI programming
    un impegno concreto: eliminare la k dalle tastiere italiane

  5. #15
    Utente di HTML.it L'avatar di Fox82
    Registrato dal
    Feb 2002
    Messaggi
    459
    Scusate, è un periodaccio. Questa è la versione corretta

    codice:
    fi = open('nomefile.txt', 'r')
    fo = open('nomefile2.txt', 'w')
    fo.write(fi.read().replace('\n', ''))
    fo.close()
    fi.close()
    Linux user number 403381

    Stop TCPA!

  6. #16
    Originariamente inviato da KornShell
    Se in java ti avvicini alla compattezza di python mangio un asino (vivo). Già il fatto che non puoi rinunciare all'OOP ti fa allungare il codice del doppio...
    Non sfidarmi,mi piacerebbe vedere come fai a tenerlo fermo... e potrei accettare . No a parte gli scherzi non sarà compatto come il py (che non conosco) ma il java è più che accettabile da questo punto di vista.
    Infatti come hai scritto tu stesso piu' sotto per scrivere un device driver hai il problema opposto, il C sarebbe sicuramente la scelta piu' adeguata.

    Ad ogni problema c'e' la giusta soluzione, in questo caso non puo' essere java, C o C++, ma python, ruby et similia.
    Quello che ho sempre sostenuto!
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  7. #17
    Se in java ti avvicini alla compattezza di python mangio un asino (vivo). Già il fatto che non puoi rinunciare all'OOP ti fa allungare il codice del doppio...
    Concordo. Fino ad ora py è il linguaggio più compatto e leggibile che mi sia capitato di leggere. In certi casi un sorgente python lo può comprendere anche chi non ha mai visto il linguaggio neanche da lontano.
    Per la compattezza py vs java si dia un occhiata a questi codici di confronto:
    http://www.ferg.org/projects/python_...e-by-side.html
    E' sopratutto per questo che adoro il pitone: ricca gamma di librerie gia incluse, semplicità, immediatezza, leggibilità. Oltre al fatto che è notevolmente più veloce di Java, parametro in cui quest'ultimo non eccelle.
    La possibilità di adoperare sia la programmazione procedurale che ad oggetti, inoltre, è un altro vantaggio che py ha in più rispetto a Java, ed è una cosa di cui difficilmente ormai potrei fare a meno.
    Giusto per riportare un esempio tratto da quel documento:
    Hello world in Java:
    codice:
    public class HelloWorld
    {
        public static void main (String[] args)
        {
            System.out.println("Hello, world!");
        }
    }
    Hello world in python:
    codice:
    print "Hello world"
    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.

  8. #18
    Originariamente inviato da billiejoex
    Concordo. Fino ad ora py è il linguaggio più compatto e leggibile che mi sia capitato di leggere. In certi casi un sorgente python lo può comprendere anche chi non ha mai visto il linguaggio neanche da lontano.
    Per la compattezza py vs java si dia un occhiata a questi codici di confronto:
    http://www.ferg.org/projects/python_...e-by-side.html
    E' sopratutto per questo che adoro il pitone: ricca gamma di librerie gia incluse, semplicità, immediatezza, leggibilità. Oltre al fatto che è notevolmente più veloce di Java, parametro in cui quest'ultimo non eccelle.
    La possibilità di adoperare sia la programmazione procedurale che ad oggetti, inoltre, è un altro vantaggio che py ha in più rispetto a Java, ed è una cosa di cui difficilmente ormai potrei fare a meno.
    Giusto per riportare un esempio tratto da quel documento:
    Hello world in Java:
    codice:
    public class HelloWorld
    {
        public static void main (String[] args)
        {
            System.out.println("Hello, world!");
        }
    }
    Hello world in python:
    codice:
    print "Hello world"
    Che dire, chi di noi avrà scelto il linguaggio del futuro...? .Per concludere questa discussione (per quanto mi riguarda ovviamente) aggiungo che sono pienamente convinto anche alla luce delle "prove" da voi portate che il python abbia delle ottime qualità sotto molti aspetti, e che in molti sia migliore di java, tuttavia apprendere DAVVERO in profondità ed ampiezza un linguaggio richiede troppo tempo ed disperdere le energie porta ad una situazione in cui si conosce un pò di tutto ma niente bene ,situazione che ritengo una delle peggiori perchè le conoscenze acquisite non sono spendibili nel mondo del lavoro!Ovviamente non escludo di mettermi a studiare anche python prima o poi,ma lo farò solo a tempo perso privilegiando sempre quello che è il mio linguaggio preferenziale ormai da un pò d'anni!
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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.