[Python] string replace

Roberto Preziusi roberto.preziusi a gmail.com
Ven 7 Ott 2011 12:35:37 CEST


On 10/07/2011 08:54 AM, Alessandro Dentella wrote:
> In aggiunta ricorda che la sitassi delle regexp di python copia quella di
> perl (aggiungendo alcuni elementi) non quella di sed.
> 
>>>>> > >>> re.sub(r"(..)", r"\1:", "00A1B2AABBCC")[:-1]
> come vedi qui Daniele ha scritto "(..)", non "\(..\)"
gią, ho notato :)

Grazie mille per le delucidazioni ora ne so un pelino in pił.

Lo script doveva semplicemente
1. prendere in input un Mac Address in un formato
2. modificarne il formato upper/lowercase con o senza due punti.
3. copiare il risultato nella clipboard (gtk)

Nel caso vi interessase o avete consigli per migliorarlo ecco lo script:

> #!/usr/bin/python
> # Author: Preziusi Roberto
> # Date: 2011-10-07
> # Version 0.1 - License:  GPLv4
> 
> import sys, string, re, pygtk, gtk
> pygtk.require('2.0')
> from optparse import OptionParser
> 
> clipboard = gtk.clipboard_get()
> 
> p=OptionParser()
> p.add_option("-l","--lower",default=True,action="store_true", help="Print MAC Address in lower case)")
> p.add_option("-u","--upper",default=False,action="store_true",help="Print MAC Address in UPPER case")
> p.add_option("-d","--dot",default=False,action="store_true",help="Print MAC Address with:some:double:dots")
> p.add_option("-c","--clean",default=False,action="store_true",help="Print Mac Address removing the double dot")
> (opt, args) = p.parse_args()
> 
> if (len(args)==0):
>         mac = raw_input("Inserisci il Mac: ")
> else:
>         mac = args.pop(0)
> 
> 
> if(opt.lower):
>         mac = mac.lower()
> if(opt.upper):
>         mac = mac.upper()
> if(opt.clean):
>         mac = mac.replace(":","")
> if(opt.dot):
>         mac = ":".join(re.findall("..", mac))
> 
> print mac
> clipboard.set_text(mac)
> clipboard.store()
> sys.exit()

Saluti
-- 
Preziusi Roberto


Maggiori informazioni sulla lista Python