Search the Community

Showing results for tags 'python'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • HWBOX | Main
  • HWBOX | Forum
    • HwBox.gr Ανακοινώσεις & Ειδήσεις
    • News/Ειδήσεις
    • Reviews
    • The Poll Forum
    • Παρουσιάσεις μελών
  • Hardware
    • Επεξεργαστές - CPUs
    • Μητρικές Πλακέτες - Motherboards
    • Κάρτες Γραφικών - GPUs
    • Μνήμες - Memory
    • Αποθηκευτικά Μέσα - Storage
    • Κουτιά - Cases
    • Τροφοδοτικά - PSUs
    • Συστήματα Ψύξης - Cooling
    • Αναβαθμίσεις - Hardware
  • Peripherals
    • Οθόνες
    • Πληκτρολόγια & Ποντίκια
    • Ηχεία - Headsets - Multimedia
    • Internet & Networking
    • General Peripherals
  • Overclocking Area
    • HwBox Hellas O/C Team - 2D Team
    • HwBox Hellas O/C Team - 3D Team
    • Hwbot.org FAQ/Support
    • Benchmarking Tools
    • General Overclocking FAQ/Support
    • Hardware Mods
  • Software Area
    • Operating Systems
    • Drivers Corner
    • General Software
    • General Gaming
  • The Tech Gear
    • Mobile Computing
    • Smartphones
    • Tablets
    • Digital Photography & Cameras
  • Off Topic
    • Free Zone
    • XMAS Contest
  • HWBOX Trade Center
    • Πωλήσεις
    • Ζήτηση
    • Καταστήματα & Προσφορές

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Location


Homepage


Interests


Occupation


ICQ


AIM


Yahoo


MSN


Skype


CPU


Motherboard


GPU(s)


RAM


SSDs & HDDs


Sound Card


Case


PSU


Cooling


OS


Keyboard


Mouse


Headset


Mousepad


Console


Smartphone


Tablet


Laptop


Camera


Drone


Powerbank

Found 2 results

  1. [NEWS_IMG=Raspberry Pi: Φτιάξτε τον δικό σας "υπερυπολογιστή"]http://www.hwbox.gr/images/imagehosting/1354b7ee684ad7dc.jpg[/NEWS_IMG]Μια ομάδα μηχανικών του πανεπιστημίου του Southampton αποφάσισε να κατασκευάσει τον πιο μικρό "υπερυπολογιστή" χρησιμοποιώντας μόνο πλακέτες Raspberry Pi και τουβλάκια Lego. Με την καθοδήγηση του καθηγητή Simon Cox, η ομάδα των εννιά ατόμων κατάφερε και έφτιαξε ένα σύστημα που αποτελείται από 64 πλακέτες Raspberry Pi συνδεδεμένες μεταξύ τους, ενώ το πλαίσιο που τοποθετούνται οι υπολογιστές είναι φτιαγμένο από τουβλάκια Lego. Σύμφωνα με τον Dr. Simon Cox: Το σύστημα τρέχει την γλώσσα προγραμματισμού ʽPythonʼ και έχει δοκιμαστεί και με το πρόγραμμα ʽScratchʼ που αναπτύχθηκε από το MIT, ενώ το όνομα του υπολογιστή είναι “Iridis-Pi” από τον υπερυπολογιστή Iridis που έχει το πανεπιστήμιο. Για την λειτουργία του αρκεί το ρεύμα από τις κλασσικές πρίζες, ενώ για την επικοινωνία μεταξύ των διάφορων nodes μέσω Ethernet χρησιμοποιείται το MPI (Message Passing Interface). Το συνολικό κόστος λέγεται οτι είναι λιγότερο από $4000 με τον αριθμό των επεξεργαστών να φτάνει τους 64 και την μνήμη το 1TB. Δυστηχώς δεν υπάρχει ακόμα καμία αναφορά για τις επιδόσεις του όλου συστήματος. [img_ALT=Raspberry Pi: Φτιάξτε τον δικό σας "υπερυπολογιστή"]http://www.hwbox.gr/images/imagehosting/465150dc897e81ca0.jpg[/img_ALT] [img_ALT=Raspberry Pi: Φτιάξτε τον δικό σας "υπερυπολογιστή"]http://www.hwbox.gr/images/imagehosting/465150dc897e68a48.jpg[/img_ALT] <iframe src="http://www.youtube.com/embed/Jq5nrHz9I94" allowfullscreen="" frameborder="0" height="480" width="853"></iframe> Διαβάστε περισσότερα εδώ...
  2. Τι γινετε οταν μπορειτε να συνδιασετε την δυναμη της python και του bash ; Τα πραγματα ειναι αρκετά ενδιαφέροντα, αφού χρήστης έχει την δυνατότητα να γράψει δικά του python scripts που θα τον βοηθήσουν στην λειτουργια του λειτουργικού του συστήματος. Για παράδειγμα αν εχει καποες καθημερινες λειτουργιες, όπως πχ να κανει update το apt-get να, να βλεπει mails, να . να .. να ... να ... Αντι να θυμαται απέξω ολες τις εντολες στην κονσολα, θα μπορει το κανει ευκολα και γρήγορα με εναν δικο του πινακα ελεγχου. Πχ οτι θελει να προσθετει χρητες, και δεν θυμαται την εντολη που ειναι ενα μακαρονι απο εδω εως την αλλη ακρη του post αυτου, τοτε μπορει να αυτοματοποιησει την διαδικασια με ενα script. Τετοια script ειναι κυριολεκτικα γεματο το linux ειτε με perl ειτε με python ειτε με C. Μερικα απο αυτα εχουν γινει πολυ διασημα, όπως για παραδειγμα το envy που κανει εγκατασταση τους drivers για την καρτα γραφικων σας. Μπορειτε να γραψετε και εσεις το δικο σας script και ετσι που ξερετε, μπορει να ειναι τοσο καλο και χρησιμο που να σας κανει υπερηφανους μια μερα. Λοιπον, τι χρειαζετε να ξερετε: python και bash commands. Γι αυτο το post τα παραδειγμα που θα κανω δεν ειναι τιποτα το ιδιατερο οποτε εισαι Οκ με λιγες γνωσεις. Δηλαδη και να μην ξερετε python, και να ξερετ καποια αλλη γλωσσα δεν υπαρχει προβλημα θα την εξηγησω λιγο εδω, σρκει ομως να μην ειστε τελειος ασχετος απο προγραμματισμο γιατι τοτε δεν θα καταλαβετε τιποτα. Λοιπόν παμε να μαθουμε λιγο python. Καταρχας κατεβαστε την οσοι δεν την εχετε με την εντολη sudo apt-get install python ή ψαξε την στο Synaptic. Ανοιξτε ενα terminal και δωσε python. panos@panos-laptop:~$ python Python 2.5.1 (r251:54863, Oct 5 2007, 13:36:32) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> Θα δειτε λογικο το παραπανω ^^^^ Αυτο ειναι ενα interactive interpreter. οτι εντολη γραφετε την εκτελει αμεσως., Πχ δωσε: print "thelab rocks" Στην python δεν υπαρχουν curly braces να ξεχωριζουν ποτε τελειωνει και ποτε αρχιζει ενα code block αλλα το κανετε εσεις με το tab space. πχ μια function αρχιζει με την λεξη def και στο τελος εχει ανωκατω τελεια def function_name(parameters): blah_blah blah blah Οι συνθηκε ελεγχου με το κλασσικο if statement υλοποιειται παλι ετσι μονο που μπαινει και μια λεξουλα που λεγεται ord οταν το x ειναι τυπου char, και παραλειπεται οταν ειναι αριθμος. πχ if x == ord('2'): blah blah else: blah blah και τωρα που πειρατε μια γευση απο υλοποιηση συντακτικου ας κανουμε ενα παραδειγμα: >>> def thelab(x): ... if x == 1: ... print "TheLab.gr rocks" ... else: ... print "TheLab.gr sucks" ... >>> thelab(1) TheLab.gr rocks >>> thelab(0) TheLab.gr sucks >>> Αυτα νομιζω αρκουν. Αχ εχετε καποιες αλελς αποριες υπαρχει και το google. ==================================================== Για να γραψουμε τα προγραμματα μας και να φαινονται ομορφα θα κανουμε χρηση της βιβλιοθηκης ncurses. Ετσι οχι οτι θα εχουμε τιποτα τρελα γραφικα αλλα μια πιο ομορφη κονσόλα. Ανοιξτε πχ το kate ή το gedit γραφοντας πρώτα απο ολα θα γράψετε την παρακατω γραμμή έτσι ώστε να μπορείτε να εκτελείτε το προγραμμα σας καθολικά μέσα απο το sbin (θα σας πω στην πορεια) #!/usr/bin/env python Δεύτερον για να συνδιάσετε εντολές από το /usr/bin στο προγραμμά σας δώστε: from os import system Τώρα ήρθε η ώρα να αρχικοποιησουμε τις ncurses οποτε γράφουμε: import curses ========================================================================= Ας υποθεσουμε τωρα οτι θελουμε εναπρογραμμα που θα μας λεει πληροφοριες του cpu. αυτο υπαρχει ομως, γραφοντας cat /proc/cpuinfo οποτε θα με ρωτησετε ποιος ο λογος να γραψω ενα προγραμμα που θα κανει το ιδιο ; Μπορειτε να γραψετε λοιπον μια συλλογη απο προγραμματε για συντομευσεις, δηλαδη πατωντας το ενα να παιζει το ταδε, προγραμμα, πατωντας το 2, παιζει το αλλο. ή για παραδειγμα να κανετε αναζητηση στο cat /proc/cpuinfo ετσι ώστε να σας εμφανίζει μόνο αυτά που θέλετε (πχ με τη νεντολη cat /proc/cpuinfo | grep cpu ) Οποτε εγω θα σας φτιαξω ενα απλο τετοιο προγραμμα και μετα εσεις μπορειτε να κανετε οτι θελετε παραπανω. Απλα για παρετε μια γεύση, πως υλοποιειτε κατι τετοιο. ========================================================================= Φανταστείτε οτι γραφετε C++ και οτι το παρακατω ειναι ειναι η main σας x = 0 while x != ord('2'): # Όσο το χ δεν ειναι 2 screen = curses.initscr() # δημιουργει ενα instance της class curses με constructor την τιμη του initscr() screen.clear() # Αφου έχει φτιαχτεί το περιβάλλον ncurses, το περνάει ένα καθάρισμα screen.border(0) # Περίγραμμα με μια γραφή για πιο όμορφο ντεκόρ screen.addstr(2, 2, "Please enter a number") #εκτυπωνει το string στην οθόνη με συντεταγμένες x=2, y =2 screen.addstr(4, 4, "1 - Daily Tasks") screen.addstr(5, 4, "2 - Exit") screen.refresh() #Για να εμφανιστού όλα τα παραπάνω κάνουμε refresh x = screen.getch() # Αποθηκεύει την επιλογή μας (1,2,3) κάτι σαν το cin της C++ ή το scanf της C if x == ord('1'): #Αν έχετε δώσει 1 νωρίτερα curses.endwin() #Καταρχάς κλείσε το τρέχον curses παράθυρο (την δινω παντα πριν απο μια εντολη system) system("clear") # η εντολή clear του linux - καθαρίζει το console - terminal a = system("sudo apt-get update") #η κλασσικη εντολή της οποια το αποτελεσμα το βαζω στο α για ελεγχο αργοτερα print " " if a == 0: #Ο ελεγχος που σας ελεγα print "Command Executed" else: print "Command Faild" raw_input("Press Enter") #Κάτι σαν το system("PAUSE") αν έχετε ακουστά print " " system("clear") #αφού τελειώσα την δουλειά μου, κανω και ένα clear curses.endwin() #κλείνω και το παραθυρο και ταυτοχρονα και το προγραμμα Για να δωσετε λοιπον εντολη του συστημα γράφετε system("blah-blah-blah-blah") Για να κανουμε τώρα ενα βημα παραπανω, και να φτιάξουμε μια function να κανει αυτην δουλεια. Δηλαδη είδαμε οτι για να εκτελεσουμε μια εντολή απο το συστημα πρέπει να κάνουμε τα εξής βήματα: 1)curses.endwin() #Καταρχάς κλείσε το τρέχον curses παράθυρο (την δινω παντα πριν απο μια εντολη system) 2)system("clear") # η εντολή clear του linux - καθαρίζει το console - terminal 3)a = system("η εντολή") #η κλασσικη εντολή της οποια το αποτελεσμα το βαζω στο α για ελεγχο αργοτερα 4)print " " #για ομορφια 5)if a == 0: #Ο ελεγχος που σας ελεγα print "Command Executed" else: print "Command Faild" 6)raw_input("Press Enter") #Κάτι σαν το system("PAUSE") αν έχετε ακουστά 7) print " " #για ομορφια Πάμε λοιπόν να ξαναγράψουμε το ίδιο: #!/usr/bin/env python from os import system import curses def execute_cmd(cmd_string): system("clear") a = system(cmd_string) #θα πάρει την εντολή από το κύριο πρόγραμμα print " " if a == 0: print "Command Executed" else: print "Command Faild" raw_input("Press Enter") print " " x = 0 while x != ord('2'): screen = curses.initscr() screen.clear() screen.border(0) screen.addstr(2, 2, "Please enter a number") screen.addstr(4, 4, "1 - Daily Tasks") screen.addstr(5, 4, "2 - Exit") screen.refresh() x = screen.getch() if x == ord('1'): curses.endwin() execute_cmd("sudo apt-get update") # το sudo apt-get install ειναι στο cmd_string στην περιπτωση αυτη system("clear") curses.endwin() ========================================================================= Τι γίνετε όμως όταν θέλετε να κάνετε μια εντολη interactive ; Ας φτιαξουμε μια function που εμφανιζει την ερωτηση στον χρηστη και ταυτοχρονα επιστρέφει και το input που έδωσε ο χρηστης. Ειμαστε λοιπον στο σημειο όπου ρωταει το προγραμμα: 1 - Αυτο 2- Μηπως Αυτο 3 - exit Εμεις θέλουμε για παραδειγμα, αν πατησει το 1. Να του γινει μια ερωτηση και να πληκτρολογισει ο user την απαντηση. Πχ να του ρωτηση ποιο ειναι το username ; Αυτος να το γραψει Και μετα να εχουμε ενα προγραμμα που θα κανει πχ ls username Αυτο εννοω interactive Οποτε αυτη η function αφου θελουμε να εκτυπωνει το μυνημα που θα ρωταει κατι σιγουρα θα το παιρνει ως παραμετρο. Μετά θελουμε να καθαριζει την οθονη, να φτιαχνει παλι το ντεκορ οπως ηταν και να εμφανιζονται ολα αυτα οπως και πριν Να εμφανιζει την ερωτηση-παραμετρο Να διαβαζει την απαντηση του χρηστη Να επιστρεφει την απαντηση Πάμε λοιπον: def get_param(prompt_string): screen.clear() # καθαρίζει το screen απο το 1 - Αυτο, 2 - Μηπως αυτο, 3 - exit και οτι ντεκορ ειχαμε κλπ κλπ screen.border(0) #ξανα βαζει το πλαισιο ντεκορ screen.addstr(2, 2, prompt_string) #ρωτάει τον χρήστη screen.refresh() #Εμφανιζει ολα τα παραπανω ^^^^ στην οθονη, γιατι αν το γραψετε, δεν βλεπετε τιποτα input = screen.getstr(10, 10, 60) # διαβαζει την απαντηση του χρηση με συντεταγμενες x=10, y=10, και η απαντηση 60χαρακτηρων return input #επιστρεφει το input Αυτη ειναι η function μας. Μεσα στην "main" θα εκχωρειτε σε μια μεταβλητη που θα αναφερετε λογικα στην ερωτηση, πχ Τοσο απλό. Η φράση enter the username ειναι το prompt_string. Εμφανιζετε στην οθονη. Πληκτρολογει ο χρηστης την απαντηση, και αυτη επιστρεφετε και αποθηκευεται στην μεταβλητη username ------ Ας γράψουμe λοιπον ένα τελικο script που θα εχει και τις δυο functions μεσα #!/usr/bin/env python from os import system import curses def get_param(prompt_string): screen.clear() screen.border(0) screen.addstr(2, 2, prompt_string) screen.refresh() input = screen.getstr(3, 2, 60) return input def execute_cmd(cmd_string): system("clear") a = system(cmd_string) print "" if a == 0: print "Command Executed" else: print "Command Faild" raw_input("Press Enter") print "" x = 0 while x != ord('2'): screen = curses.initscr() screen.clear() screen.border(0) screen.addstr(2, 2, "Please enter a number") screen.addstr(4, 4, "1 - Open Firefox") screen.addstr(5, 4, "2 - Exit") screen.refresh() x = screen.getch() if x == ord('1'): url = get_param("Please enter the URL eg www.thelab.gr ") curses.endwin() execute_cmd("firefox " + url) #ο interactive συνδιασμος system("clear") curses.endwin() ================================== Σε εισαγωγικα δινουμε την εντολη και ενα κενο πριν το τελευταιο γιατι αλλιως θα εκτελεσει firefoxwww.thelab.gr - δηλαδη μια μπουρδα. Μετα γραφουμε + την παραμετρο που θελουμε. Καντε save ως fifis.py στο home directory σας. Για να μην δινετε συνεχεια python fifis.py αλλα να δινετε fifis και να τρεχει σαν προγραμμα τότε: panos@panos-laptop:~$ sudo -i root@panos-laptop:~# cd /home/panos root@panos-laptop:/home/panos# chmod +x fifis.py root@panos-laptop:/home/panos# mv fifis.py /usr/sbin/fifis root@panos-laptop:/home/panos# fifis προσοχη οταν κανετε chmod το + και το x ειναι ειναι ενωμενα χωρις κενο ενδιαμεσα τους.