Τα πάντα για την Python

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για την Python

Δημοσίευσηαπό medigeek » 14 Μαρ 2012, 17:34

Βγήκε καινούρια έκδοση της IronPython:
http://www.h-online.com/open/news/item/ ... 70680.html
https://ironpython.codeplex.com/releases/view/74478
Download (αν δεν δουλεύει στο codeplex): http://www.softpedia.com/get/Programmin ... thon.shtml

έγραψε:many improvements to the pyc.py compiler, such as the ability generate standalone executables by embedding the IronPython assemblies;

Μήπως ξέρει κανείς να χρησιμοποιεί το pyc.py compiler σε windows για standalone προγράμματα;
Ισχύουν αυτά μήπως (δεν τα δοκίμασα ακόμη);
http://stackoverflow.com/questions/6195 ... -module-os
http://stackoverflow.com/questions/1578 ... 2-6-py-exe
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό pmav99 » 14 Μαρ 2012, 19:50

@medigeek
Επειδή δεν έχω ασχοληθεί ποτέ με ironPython, με 3rd party libraries παίζει? Πχ με pyqt, vkt κτλ
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό medigeek » 15 Μαρ 2012, 16:17

Δεν είμαι σίγουρος, ούτε εγώ το έχω δοκιμάσει ποτέ - θα δω μέσα στη βδομάδα με το visual studio.
Για IDE βρήκα το ironpython studio (visual studio 2008): http://ironpythonstudio.codeplex.com/
..και το pytools (visual studio 2010): http://pytools.codeplex.com/releases/view/76091

Σκεφτόμουν να φτιάξω το πρόγραμμα για την υπογραφή σε windows... αν και χλωμό το βλέπω. :)
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό clepto » 25 Μαρ 2012, 12:43

πείτε ότι έχω αυτό
Κώδικας: Επιλογή όλων
General
Complete name : /home/chris/yamp/music.mp3
Format : MPEG Audio
File size : 5.78 MiB
Duration : 3mn 9s
Overall bit rate mode : Constant
Overall bit rate : 256 Kbps
Album : Forty Foot Echo
Album/Performer : Forty Foot Echo
Track name : Drift
Track name/Position : 1
Track name/Total : 12
Performer : Forty Foot Echo
Performer/Sorted by : Forty Foot Echo
Recorded date : UTC 2003-05- 0
Writing library : LAME3.98.4
Encoding settings : Lavf52.64.2
sourcedata : B3E260288HH1294857072665301
starttime : 0
height : 240
bytelength : 10564313
MusicBrainz Album Type : album
MusicBrainz Album Artist Id : 7731ed71-6cb8-4a9b-a535-53ce9f0eb669
MusicBrainz Artist Id : 7731ed71-6cb8-4a9b-a535-53ce9f0eb669
audiodatarate : 115
ASIN : B00008ZPJ7
videodatarate : 323
ALBUMARTISTSORT : Forty Foot Echo
MusicIP PUID : 3eff47a3-fa2f-2482-5f05-8a967e5ddfd1
totaldatarate : 446
framerate : 30
canseekontime : true
totalduration : 189
width : 320
MusicBrainz Album Id : 12cc75dc-0f28-40f2-8aa7-de707f6d22a3
duration : 189
MusicBrainz Album Release Country : US
MusicBrainz Album Status : official

Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Mode extension : MS Stereo
Duration : 3mn 9s
Bit rate mode : Constant
Bit rate : 256 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 5.78 MiB (100%)
Writing library : LAME3.98.4


πως μπορώ με την split να το χωρίσω και να το περάσω με ένα dict;
πχ. το Performer να αντιστοιχει στο Forty Foot Echo
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Ilias95 » 25 Μαρ 2012, 16:45

clepto έγραψε:...
πως μπορώ με την split να το χωρίσω και να το περάσω με ένα dict;
πχ. το Performer να αντιστοιχει στο Forty Foot Echo

Το έκανα βιαστικά αλλά φαίνεται να δουλεύει σωστά:
Μορφοποιημένος Κώδικας: Επιλογή όλων
#!/usr/bin/python3

data = """Complete name : /home/chris/yamp/music.mp3
Format : MPEG Audio
File size : 5.78 MiB
Duration : 3mn 9s
Overall bit rate mode : Constant
Overall bit rate : 256 Kbps
Album : Forty Foot Echo
Album/Performer : Forty Foot Echo
Track name : Drift
Track name/Position : 1
Track name/Total : 12
Performer : Forty Foot Echo"""

def remove_whitespace(string):
"""removes white space from beggining and end of a string"""
for i in range(len(string)):
if string[i] != ' ':
string = string[i:]
break

for i in reversed(range(len(string))):
if string[i] != ' ':
string = string[:i+1]
break

return string

_dict = dict()
for i in data.split('\n'):
key, value = i.split(':')
_dict[remove_whitespace(key)] = remove_whitespace(value)

print(_dict)
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό clepto » 25 Μαρ 2012, 16:56

φοβερός!!
εξήγησε μου λίγο τι κάνει αυτό [i:]
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Ilias95 » 25 Μαρ 2012, 17:03

clepto έγραψε:φοβερός!!
εξήγησε μου λίγο τι κάνει αυτό [i:]

Είναι list slicing.

Μπορείς να κάνεις slicing και σε strings όμως, όχι μόνο σε λίστες:
Κώδικας: Επιλογή όλων
>>> "string"[2:4]
'ri'
>>>

Το [i:] σημαίνει από το i-οστο στοιχείο της λίστας/string μέχρις το τέλος της:
Κώδικας: Επιλογή όλων
>>> "string"[2:]
'ring'
>>>

Αντίστοιχα με το [:i] παίρνεις το slice απ' την αρχή της λίστας μέχρι το i-οστό στοιχείο της (χωρίς αυτό).
Τελευταία επεξεργασία από Ilias95 και 25 Μαρ 2012, 17:08, έχει επεξεργασθεί 1 φορά/ες συνολικά
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό clepto » 25 Μαρ 2012, 17:07

α ναι μπράβο, το είχα ξεχάσει...
ευχαριστώ!!
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό pmav99 » 25 Μαρ 2012, 19:29

Αντί για να κάνεις δική σου συνάρτηση, μπορείς να χρησιμοποιήσεις την built-in μέθοδο
έγραψε:string.strip(s[, chars])

Return a copy of the string with leading and trailing characters removed. If chars is omitted or None, whitespace characters are removed. If given and not None, chars must be a string; the characters in the string will be stripped from the both ends of the string this method is called on.remove_whitespace

Προσοχή επιστρέφει αντίγραφο, άρα θέλει
Κώδικας: Επιλογή όλων
s = s.strip()


Αν το κείμενο αυτό είναι σε αρχείο, μια άλλη προσέγγιση που μπορείς να χρησιμοποιήσεις είναι το module csv, αλλά για το συγκεκριμένο μάλλον δεν αξίζει τον κόπο.
pmav99
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 574
Εγγραφή: 05 Ιούλ 2008, 14:29
Εκτύπωση

Re: Τα πάντα για την Python

Δημοσίευσηαπό Ilias95 » 25 Μαρ 2012, 20:58

pmav99 έγραψε:Αντί για να κάνεις δική σου συνάρτηση, μπορείς να χρησιμοποιήσεις την built-in μέθοδο

Και ήμουν σίγουρος ότι θα υπάρχει κάποια έτοιμη συνάρτηση. Δυστυχώς δεν την βρήκα με μια γρήγορη αναζήτηση.

Οπότε γίνεται 4 γραμμές:
Μορφοποιημένος Κώδικας: Επιλογή όλων
_dict = dict()
for i in data.split('\n'):
key, value = i.split(':')
_dict[key.strip()] = value.strip()
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

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

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι