| « Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC! | Mysql usando bazaar, no launchpad! » |
Mais Text Munger
Whitespace, punctuation, numbers -- anything that isn't a word -- should also remain unchanged.
Ou seja, minha implementação anterior está fundamentalmente errada 
E eu só li essa parte do enunciado depois do comentário do Rodolpho.
Mas é fácil de resolver, usando o shlex mesmo:
import sys
import shlex
from random import shuffle
def munge(text):
t = shlex.shlex(text, posix=False)
t.quotes = "'"
t.whitespace = ""
#print(list(t))
s = (munge_word(word) for word in t)
print("".join(s))
def munge_word(aword):
s = list(aword)
first = s.pop(0)
try:
last = s.pop()
except IndexError:
return aword
shuffle(s)
return first + ''.join(s) + last
try:
s = open(sys.argv[1]).read()
munge(s)
except IndexError:
print("Usage: munge.py file")
Endereço de trackback para este post
Trackback URL (clique direito e copie atalho/localização do link)


