Μάθημα 0 - Εισαγωγή

...ασύγχρονα μαθήματα python

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό chrish » 06 Ιουν 2009, 12:56

Χαιρετε και πάλι
παραθέτω τον κώδικα που έχω γράψει για το helloworld

Κώδικας: Επιλογή όλων
# -*- coding: utf-8 -*-
#!/usr/bin/python
#Filename: helloworld.py

print("Hello World")

όπως βλεπετε τροποποιήσα τα quotes από ' σε " για να είμαι σίγουρος και έκανα ξανά copy το προγραμματάκι helloworld.py στον κατάλογο usr/bin/local και αυτό που πέρνω πλέον είναι το τροποιήμενο μύνημα συνταχτικού λάθους :)
Κώδικας: Επιλογή όλων

chrish@frost:~/Documents/Python$ helloworld
/usr/local/bin/helloworld: line 5: syntax error near unexpected token `"Hello World"'
/usr/local/bin/helloworld: line 5: `print("Hello World")'

και ενω αν τρέξω

Κώδικας: Επιλογή όλων
chrish@frost:~/Documents/Python$ python3 ./helloworld.py
Hello World

ή
Κώδικας: Επιλογή όλων
chrish@frost:~/Documents/Python$ python ./helloworld.py
Hello World


και έτσι δεν μπορώ να καταλάβω τι έχω κάνει λάθος
Linux: Λίγο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Πολύ Καλά
Kubuntu 9.04
CPU: P4 3.2GHz ┃ RAM: 512MB/400Hz ┃ NVIDIA 7100GS 512MB AGP ┃ 2xIDE HDD 80GB ┃ PCTV USB2 pinnacle
Άβαταρ μέλους
chrish
babeTUX
babeTUX
 
Δημοσιεύσεις: 25
Εγγραφή: 16 Μάιος 2009, 07:48
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό Dimitris » 06 Ιουν 2009, 13:28

Καταρχήν μια συμβουλή. Στο /usr/... δε συνηθίζεται να βάζουμε δικά μας προγράμματα. Τόσο από θέμα ασφαλείας όσο και επειδή δεν είμαστε πάντοτε διαχειριστές σε ένα σύστημα. Είναι προτιμότερο να δημιουργήσεις ένα φάκελο bin στο home σου και να θέσεις το φάκελο αυτό, δηλαδή ~/bin στο PATH σου. Η μεταβλητή περιβάλλοντος PATH είναι οι διαδρομές που ψάχνει το συστημά σου για εκτελέσιμα και μπορείς να την ορισείς στο ~/.bashrc αρχείο. Για παράδειγμα σε μένα είναι:
export PATH=$PATH:$HOME/bin
που σημαίνει το PATH είναι ότι και πριν (απο default δηλαδη) και μετά ψάξε στο $HOME/bin.

Tώρα στο λάθος σου. Όταν εκτελείς το python helloworld.py του λες να το τρέξει με python. Aντιθετα οταν το τρέχεις ως εκτελέσιμο το νομίζει ως shell script. Kι αυτό γιατι η πρώτη γραμμή δεν είναι η
#!/usr/bin/python
αλλά η
# -*- coding: utf-8 -*-
Το encoding μπορεί να μπει και αργότερα. Το #!/usr/bin/python όμως πρέπει να είναι πρώτο. Παρατήρησε ότι το σφάλμα επιστρεφέται από το shell και όχι από την python. (Kάνε μερικά λάθος python και shell scripts για να δεις τη διαφορά)
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό chrish » 06 Ιουν 2009, 13:47

Σε ευχαριστώ τα μάλα monsieur Dimitris.....
Το έκανα και έπαιξε.... το #-*-coding: utf-8 -*- μου ζήτησε το kate να το βάλει όταν έκανα save τον κώδικα και απλά δέχτηκα αλλά όπως λέει και στην εισαγωγή του μαθήματος, όλα τα script της python ξεκινάνε με #!usr/bin/python....
ερώτηση .... αν αντι για #!usr/bin/python βάλω #!usr/bin/python3 υπάρχει θέμα....?? το λέω αυτο γιατι είδα πως είτε βάλω python μπλα μπλα είτε python3 μπλα παίρνω το ίδο αποτέλεσμα.....
Επίσης thnx για την συμβουλή με το θέμα του PATH, και όντως σήμερα πριν από λιγο είδα το σχετικό thread εδώ και θα ξανα πάω να το διαβάσω για να το κανώ....απλά έκανα copy το προγραμματάκι όπως πρότεινε το βιβλίο....
Linux: Λίγο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Πολύ Καλά
Kubuntu 9.04
CPU: P4 3.2GHz ┃ RAM: 512MB/400Hz ┃ NVIDIA 7100GS 512MB AGP ┃ 2xIDE HDD 80GB ┃ PCTV USB2 pinnacle
Άβαταρ μέλους
chrish
babeTUX
babeTUX
 
Δημοσιεύσεις: 25
Εγγραφή: 16 Μάιος 2009, 07:48
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό DarkLord » 06 Ιουν 2009, 14:09

#!usr/bin/python3 είναι πιο σωστό κατα τι γνώμη μου
γιατί τα μαθήματα γίνονται πάνω στην python3
DarkLord
babeTUX
babeTUX
 
Δημοσιεύσεις: 81
Εγγραφή: 24 Ιαν 2009, 15:26
Τοποθεσία: Karvasaras
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό chrish » 06 Ιουν 2009, 17:49

thnx darklord ή να σε λέω πλέον master darklord μιας και ακολούθησα το link της υπογραφής σου :)
Linux: Λίγο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Πολύ Καλά
Kubuntu 9.04
CPU: P4 3.2GHz ┃ RAM: 512MB/400Hz ┃ NVIDIA 7100GS 512MB AGP ┃ 2xIDE HDD 80GB ┃ PCTV USB2 pinnacle
Άβαταρ μέλους
chrish
babeTUX
babeTUX
 
Δημοσιεύσεις: 25
Εγγραφή: 16 Μάιος 2009, 07:48
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό chrish » 06 Ιουν 2009, 18:39

Μια μικρή ερωτησούλα ακόμη.... έκανα add το directory με τα scriptakia που θα φτιάχνω στη python στην $PATH.... /home/chrish/bin και μάλιστα μπήκε και στο τέλος της $PATH... μήπως πρέπει να κάνω και τίποτα άλλο για την ασφάλεια μου...μήπως πριν μεταφέρω εκεί τα αρχεία να τους αλλάζω το chmod ή είμαι καλυμένως έτσι απλά ???
Linux: Λίγο ┃ Προγραμματισμός: Μέτριο ┃ Αγγλικά: Πολύ Καλά
Kubuntu 9.04
CPU: P4 3.2GHz ┃ RAM: 512MB/400Hz ┃ NVIDIA 7100GS 512MB AGP ┃ 2xIDE HDD 80GB ┃ PCTV USB2 pinnacle
Άβαταρ μέλους
chrish
babeTUX
babeTUX
 
Δημοσιεύσεις: 25
Εγγραφή: 16 Μάιος 2009, 07:48
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό dimosfire » 06 Ιουν 2009, 22:14

Συγγνώμη επανέρχομαι γιατι δεν το έχω καταλάβει. Το .bashrc το δημιουργουμε εμείς? Aυτό με το PATH είναι λίγο ακατανόητο. Μήπως είναι ευκολο να το εξηγήσετε πάλι με πιο απλό τρόπο?
ubuntu 9.10 (AMD64),Innovator desktop, motherboard MSI K8N NEO4-F,cpu AMD ATHLON64 3500+ 2.20GHz,ram 1GHz, καρτα γραφ.GIGABYTE GEFORCE 6600 256MB,καρτα τηλεορ.κ radio FM PROLINK PIXELVIEW PLAYTV PRO/ΑΓΓΛΙΚΑ-ΚΑΛΑ/ΓΝΩΣΕΙΣ ΠΡΟΓΡ.-ΚΑΘΟΛΟΥ.
dimosfire
babeTUX
babeTUX
 
Δημοσιεύσεις: 141
Εγγραφή: 02 Φεβ 2009, 11:07
Τοποθεσία: ΠΑΤΡΑ
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό Dimitris » 06 Ιουν 2009, 23:02

Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό DarkLord » 07 Ιουν 2009, 00:05

chrish έγραψε:thnx darklord ή να σε λέω πλέον master darklord μιας και ακολούθησα το link της υπογραφής σου


xax x ναι master να με λες
ελπίζω να γίνω master και στο προγραμματισμό με python
DarkLord
babeTUX
babeTUX
 
Δημοσιεύσεις: 81
Εγγραφή: 24 Ιαν 2009, 15:26
Τοποθεσία: Karvasaras
Εκτύπωση

Re: Μάθημα 0 - Εισαγωγή

Δημοσίευσηαπό dimosfire » 07 Ιουν 2009, 00:21

Aκολούθησα όλα όσα διάβασα και πάλι τίποτα δεν άλλαξε:
Κώδικας: Επιλογή όλων
dimosfire@dimosfire-desktop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Δεν μπορώ να καταλάβω που είναι το λάθος
ubuntu 9.10 (AMD64),Innovator desktop, motherboard MSI K8N NEO4-F,cpu AMD ATHLON64 3500+ 2.20GHz,ram 1GHz, καρτα γραφ.GIGABYTE GEFORCE 6600 256MB,καρτα τηλεορ.κ radio FM PROLINK PIXELVIEW PLAYTV PRO/ΑΓΓΛΙΚΑ-ΚΑΛΑ/ΓΝΩΣΕΙΣ ΠΡΟΓΡ.-ΚΑΘΟΛΟΥ.
dimosfire
babeTUX
babeTUX
 
Δημοσιεύσεις: 141
Εγγραφή: 02 Φεβ 2009, 11:07
Τοποθεσία: ΠΑΤΡΑ
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Μαθήματα python