Documentos

El primer peronismo: nombres para los conflictos culturales de la nación

El primer peronismo: nombres para los conflictos culturales de la nación.

Nicolás Quiroga

Publicado en Revista Acción. “Los nombres del conflicto”, sección Bicentenario, número 1055, 1era quincena, agosto de 2010.

Los principales acontecimientos durante el primer peronismo son bien conocidos y aquí sólo los recordaremos rápidamente: el 17 de octubre de 1945, distintas manifestaciones de trabajadores y trabajadoras se adelantaron a la huelga declarada por la CGT para el día 18, y reclamaron la libertad de Perón –quien había sido encarcelado por los sectores del gobierno de facto que se oponían a su creciente poderío político–. La movilización que ocupó la Plaza de Mayo fue, de todas, la más grande y reconocida. Más tarde Perón se postuló como candidato a la presidencia de la Nación y fue apoyado por el Partido Laborista, la Unión Cívica Radical Junta Renovadora y algunas fracciones del conservadurismo. El 24 de febrero de 1946 Perón triunfó sobre la Unión Democrática, una coalición de casi todos los partidos establecidos, desde la izquierda a la derecha. En 1951 Perón fue reelegido; sin embargo no terminó su segundo mandato y fue derrocado en septiembre de 1955. Dos meses antes la misma plaza que ocuparon los defensores de Perón en 1945 fue bombardeada por militares antiperonistas ocasionando decenas de muertos.
Fue una década de importantes cambios institucionales como la reforma constitucional de 1949 y el acceso de las mujeres al voto en 1947. Igual importancia tuvo el protagonismo del movimiento obrero sindicalizado como actor político. Un suceso notable –inesperado en 1946– fue la rápida consolidación de Eva Perón como líder popular. Su "política social", institucionalizada en la Fundación Eva Perón, la construcción del Partido Peronista Femenino y su discurso plebeyo añadieron una dimensión nueva a la lógica sobre todo estatal imaginada por Perón. La tendencia “unanimista” de las elites peronistas –control de los medios de comunicación, persecución de dirigentes opositores, vigilancia sobre los propios partidarios, entre otras políticas coercitivas– fue haciéndose más evidente desde mediados de la década peronista.
A menudo se suele sopesar las “virtudes” y “defectos” del primer peronismo, como si la comprensión de procesos históricos dependiera de balanzas morales. Sin embargo, el costado popular y la tendencia totalista –no totalitaria– del primer peronismo deben considerarse a la luz de los conflictos culturales a los que el peronismo puse nombre y modeló políticamente.
Se ha dicho, de diferentes maneras y con distinto énfasis, que el primer peronismo fue una “revolución social”. Pero si no sabemos qué quiere decir “revolución”, aún menos comprendemos qué significa el término “social” utilizado en el sintagma. Parece que “social” espera significar la inexistencia de una revolución “económica”, o de una “verdadera” revolución; una sin adjetivos. Pero fueron algunos hechos y algunos procesos ligados a estas dimensiones las que nos permiten conocer, a tientas, la situación del pueblo durante el primer peronismo. Al menos podemos reconocer, en su adhesión temprana a la gestión de Juan Domingo Perón en la Secretaría de Trabajo y Previsión, la existencia de muchas demandas insatisfechas para mediados de 1940 entre los sectores populares.
Argentina no era, por ese entonces, el país moderno que la elite letrada, principalmente porteña, concebía. El Censo Nacional de 1947, al poner el umbral de un “centro urbano” en las dos mil almas, había desplazado la “ruralidad” hacia zonas muy bajas de la demografía. Mientras tanto, muy pocas ciudades superaban los cien mil habitantes. La gran mayoría de las localidades del país tenían menos de cinco mil habitantes cada una.
Durante los años treinta y cuarenta, las migraciones internas volcaron sobre las ciudades vastas cantidades de inquietudes, necesidades e ilusiones que le debían al “campo”, a la pequeña aldea, muchas de sus versiones más logradas. Las relaciones entre esos pueblos y la ciudad imaginada por los sectores populares se cruzaron de muchos modos y produjeron sentidos que hasta ese momento las luchas sindicales y las arenas políticas no habían considerado. No se trató de una subcultura imponiéndose sobre otra: a mediados del siglo XX el país comenzó a vertebrarse, sólo que eso sucedió de modo conflictivo.
La ruptura entre un momento y otro, entre los años treinta y cuarenta, sin embargo, no fue tan marcada en cada una de las esferas de actividad que consideremos: pueden rastrearse desde mediados de los años treinta fuertes presiones para ampliar la actividad y la participación políticas, demandas por el cumplimiento y la ampliación de derechos de los trabajadores, nuevos dominios estatales, crecimiento del sector industrial, tasas crecientes de sindicalización (a partir de 1943 con más fuerza). Pero a medida que nos alejamos de Buenos Aires, esas trazas van haciéndose cada vez menos nítidas. En las provincias del Norte, en la región mesopotámica, en los territorios nacionales, la situación de los sectores subalternos era mucho más gravosa que en Córdoba, Santa Fe y Buenos Aires, provincias estas en las que las pugnas políticas, la diversidad de intereses, la mayor complejidad demográfica y económica, y un más alto grado de desarrollo de las organizaciones sindicales, dibujaban grises en la condición de los sectores populares.
Un escritor y más tarde funcionario peronista, Luis Horacio Velázquez, podía pensar la época a partir de una oda al trabajador frigorífico como fue Pobres habrá siempre, pero también es posible leer una reflexión epocal en el libro de Julio Migno, Yerbagüena (el mielero) –acaso más local pero mucho menos insular que el de Velázquez–, o en las decenas de poemas gauchescos dedicados y enviados a Perón y a Evita. Se trata de marcas literarias de la desigualdad. Manuel Puig supo poner el deseo y el rechazo, la represión y las fantasías que giraban alrededor de antagonismos presentes en las distintas geografías culturales de la nación (“criollos” / “gringos”; “negros de alma”/ “gente bien”; “pelo duro” / “cogotudo”, etc.), en un diálogo en el que la que la frontera es un tapial y en el que la deferencia y el estigma de época se transforman en un código sexual. Lo hizo en Boquitas pintadas, en la escena que conversan y piensan Pancho y Mabel:

—Y usted también querrá escuchar, no diga que no… negro barato, le brillan el cuello y las orejas, se lava para blanquearse
—Para qué voy a decir que no… ¿Le saco los más maduros, nomás, o medio verdes también? mi uniforme de gabardina y botas que brillan […] —Yo sé que algunas chicas tienen debilidad por los uniformes. Cuando yo estaba pupila en Buenos Aires mis compañeras se enamoraban siem¬pre de los cadetes, un cadete, no un negro suboficial cualquiera
—¿Y usted no? sí, si, sí, sí
sí, yo también. No, yo me portaba bien, yo era una santa. Y no se preocupe porque yo tengo novio, y en serio, buen muchacho, un pigmeo comparado con un negro grandote

Esas marcas no son muy fuertes en las historias escritas sobre el primer peronismo pero nos permiten comprender mejor la tensión que enfrentó a peronistas y antiperonistas. Porque esa tensión se materializó sin tantos antecedentes, y tomó formas binarias de intelección política. Como suele suceder en procesos históricos rupturistas, un nombre se hizo cargo de muchos otros. Con el peronismo fue “trabajador” –y un poco menos “trabajadora”– el operador lógico de los contemporáneos.
Los sectores populares se ligaron a esa palabra de un modo que no podría comprender una mirada economicista u otra milagrera o condescendiente. Lo hicieron, por un lado, porque las políticas que el gobierno de Perón llevó adelante entre 1946 y 1955 repercutieron en la posición de los sectores populares durante el período: la ampliación de los derechos políticos (voto femenino, por ejemplo), la legislación sobre las relaciones de trabajo (derechos del trabajador –desde el Estatuto del Peón hasta el articulado de la Constitución de 1949; tribunales del trabajo, etc.), los controles de precios (alimentos, alquileres y arrendamientos), la asistencia social, los derechos previsionales, los aumentos de salarios, entre otras mejoras, modificaron el diagrama de las fuerzas sociales.
Los sectores populares abrazaron las implicancias del peronismo como el movimiento de los “trabajadores”, además, porque los intentos por quebrar ciertas “reglas” no escritas tramadas con la letra de la deferencia y la propiedad privada puso, a los que no eran “trabajadores”, del “otro lado” de la contradicción fundamental. Así, luchadores incansables por la libertad, líderes sindicales revolucionarios, intelectuales progresistas, y algunos políticos afectos al sentir popular se mezclaron con poderosos intereses corporativos y sectores pocos predispuestos a cualquier ampliación de beneficios, en el antiperonismo. De ese modo, “las fuerzas de la reacción” o la “rancia oligarquía” fueron sintagmas con una fuerte materialidad para nombrar todo lo que se oponía a las demandas de los que apoyaban a Perón y a Eva Perón, incluso cuando el gobierno de Perón no hizo sino poner freno a esos reclamos o directamente perseguir a trabajadores que presionaron durante el decenio por mayores beneficios.
“Oligarquía” y más tarde “gorila” fueron términos que taquigrafiaron una sensibilidad construida al ritmo del ninguneo de la “gente bien” y las estéticas de marcación social con la que los “grasas”, la “negrada”, los descamisados, habían sido signados por años. Cuando ese ritmo segregador se impone sobre otros tonos, incluso en la actualidad, es frecuente que palabras clave que se acuñaron para articular la relación entre los sectores populares y el peronismo se incorporen a la debacle, aparezcan de modo “natural”, como si ya no pudiéramos denominar de un modo distinto lo que oprime y excluye.
El ingreso de las masas a la vida moderna se dio en el marco de un rediseño de las relaciones entre las clases, y de las clases y el estado; una ampliación de beneficiarios de bienes materiales y simbólicos que alcanzó a gran parte de los sectores populares; una multiplicación de la actividad política –especialmente a través de las unidades básicas–; y una fuerte identificación entre Perón, Evita y la mayoría de la ciudadanía. Esto último signó las relaciones entre el peronismo naciente y las formas de representación democráticas: la tentación política del movimiento y su necesidad de legitimación por los votos, por un lado, y por el otro, el empuje plebiscitario, la marcada tendencia del peronismo a homologar su identidad de pueblo con la nación y con la sociedad. Estos procesos estuvieron atravesados por las relaciones conflictivas entre la cultura hegemónica y las culturas populares que se gestaron al calor de las contradicciones sumarísimas y cada vez más rubricadas por la violencia de los grupos que finalmente derrocaron a Perón en 1955 (asonadas, bombas, bombardeos y luego del golpe, fusilamientos, silenciamientos y persecuciones).
El anhelo peronista de abarcar la totalidad significativa del pueblo integró dificultosamente deseos diversos e incluso antagónicos, percepciones de la vida diferentes (algunas de ellas, como la del propio Perón, jerárquicas y disciplinantes). Pero la correspondencia del término “peronista” y el estigma “cabecita negra” fue ganando terreno conforme la denominada para unos “Revolución Libertadora” y, para otros, “Revolución Fusiladora”, avanzó sobre las posiciones que los sectores populares habían obtenido en el decenio previo. La fragua de los sueños de los pobres y el peronismo no significó la metamorfosis de un término en el otro, sino que desde mediados de siglo XX, los sectores populares afinaron sus instrumentos con el diapasón peronista y todos los proyectos políticos que aspiraron a incorporarlos debieron conocer un poco de esa música.
Fue considerable la diversidad de demandas que confluyeron en las consignas gestadas durante el primer peronismo. Desde las distintas regiones de nuestro país –muchas aún ni siquiera eran “provincias”– los peronistas pusieron en la escena política diferentes necesidades urgentes; muchas de ellas reclamos históricos de los sectores populares. Doscientos años después de la Gesta de Mayo, los sectores populares continúan soportando formas biologicistas y culturalistas de subordinación, marcaciones sociales de exclusión, imaginarios de miedos y furias. Esos conflictos culturales adquirieron nombres, colores y ligaduras durante el primer peronismo. Adquirieron sentidos que ya no abandonaron –aún si los sectores populares y el peronismo cambiaron varias veces su composición y sus proyectos de ese tiempo a esta parte–.

the Programming Historian, parte II

Seguimos con la traducción de algunos capítulos del libro The Programming Historian, de William J. Turkel, Adam Crymble y Alan MacEachern.
Ahora vamos con el capítulo 4.

Haciendo uso de sus capacidades para una lectura atenta

Desde ahora, vamos a ver más y más ejemplos de código. Trate de crearse el hábito de leer cada uno muy bien, de mismo modo en que lee una importante fuente primaria. Si hay algo en el código que nunca vio antes o no comprende, trate de hacer una hipótesis explícita acerca de cómo debe funcionar. A veces, su hipótesis será correcta y otras no, pero es mucho más fácil hacer progresos si es consciente de sus conjeturas. Ese es también el modo que deberá asumir cuando comience a corregir errores (debug) de programas que no funcionan. Una de las ventajas que tienen los historiadores tienen cuando se ponen a programar es que ya están habituados a la interrogación de fuentes en lugar de tomarlas en sentido literal.

Enviando información a archivos de texto

En las secciones previas, vimos cómo enviar información al panel “Command Output” (panel de salida) del editor Komodo, al utilizar el comando de Python print.

print 'hola mundo'

El lenguaje de programación Python es orientado a objetos. Esto quiere decir que está construido alrededor de un tipo especial de entidad, un objeto, que contiene tanto datos como un número de métodos para acceder y procesar esos datos. En el ejemplo de arriba, vemos un tipo de objeto, la cadena (string) hola mundo. Un objeto cadena es una secuencia de caracteres; aprenderemos más sobre métodos de cadenas pronto. Print es un comando que imprime objetos de modo textual.
Usará print en los casos donde quiera crear información que necesita de inmediato. A veces, de todos modos, usted creará información que quiera guardar, enviar a alguien más, o usar como “input” para ulteriores procesamientos por otros programas o grupos de programas. En esos casos usted querrá enviar información a archivos en su disco duro en lugar de hacerlo al panel “Command Output”. Ingrese el siguiente programa en la ventana principal del Komodo y guárdelo como arch-salida.py

# arch-salida.py
f = open('holamundo.txt','w')
f.write('hola mundo')
f.close()

En ese programa f es un objeto archivo, y open, write y close son métodos de archivos. En el método open, holamundo.txt es el nombre del archivo que usted está creando, y el parámetro w dice que usted está abriendo ese archivo en modo escritura (write). Note que tanto el nombre del archivo como el parámetro son cadenas en este caso. Su programa escribe el mensaje (otra cadena) en el archivo y luego lo cierra. (Para más información sobre estas órdenes, ver la sección File Objects en la Librería de Referencia Python.)
Haga doble click en el botón “Run Python” para ejecutar el programa. Aunque nada se imprima en el panel “Command Output”, puede ver un mensaje de estado que dice [en Windows] 'C:\Python25\Python.exe arch-salida.py' returned 0. Esto significa que su programa fue ejecutado con éxito. Si usa File->Open->File en el editor Komodo, puede abrir el archivo holamundo.txt. Este deberá contener su mensaje de una línea:

hola mundo

Puesto que los archivos de texto incluyen un mínimo monto de información de formato, ellos tienden a ser pequeños, fáciles de intercambiar entre plataformas diferentes (i.e, desde Windows a Linux o Mac o viceversa), y fáciles de enviar de un software a otro. Además, pueden ser usualmente leídos por quienes tengan un editor de texto como el Komodo.

Obteniendo información desde archivos de texto

Python tiene además comandos que le permiten obtener información desde archivos. Tipee el siguiente programa en el Komodo y guárdelo como arch-entrada.py. Cuando lo ejecute haciendo doble click en “Run Python”, abrirá el archivo de texto, leerá el mensaje de una línea e imprimirá el mismo mensaje en el panel “Command Output”.

# arch-salida.py
f = open('holamundo.txt','r')
mensaje = f.read()
print mensaje
f.close()

En este caso, el parámetro r es usado para indicar que estamos abriendo un archivo para leerlo (read). Read es otro método de archivo. El contenido del archivo (el mensaje de una sola línea) es copiado en mensaje, que es una cadena (string), y luego el comando print es utilizado para enviar el contenido de mensaje al panel de salida de Komodo.

Dividiendo código en módulos y funciones

A menudo querrá utilizar nuevamente un grupo de commandos, generalmente porque tiene una tarea que debe realizar una y otra vez. Supongamos, por ejemplo, que usted tiene que mantener todas sus referencias bibliográficas en Zotero y tiene una etiqueta que le indica cuáles necesita en su próximo viaje a la biblioteca. Resultaría muy útil tener un programa que seleccione sólo aquellos ítems etiquetados y los ordene por número topográfico.
Dado que eso forma parte de sus actividades de investigación, usted querrá tener disponible el programa para reutilizar en cada visita a la biblioteca. Un programa, en otras palabras, es un mecanismo para empaquetar una colección de comandos para facilitar su reutilización. Zotero mismo es un paquete de comandos útiles, como también lo es Firefox.
Cuando los programas son pequeños se guardan, generalmente, en un archivo único. Cuando quiere correr uno de esos programas, simplemente envía ese archivo al intérprete. Cuando los programas se hacen muy largos, tiene sentido dividirlos en archivos separados conocidos como módulos. Básicamente, la modularización permite a los programadores reutilizar código para tareas que realizan muchas veces. Más abajo, por ejemplo, puede ver que los comandos para trabajar con páginas web han sido puestos en un módulo de Python aparte. Python posee un comando especial, import que permite que un programa acceda a los contenidos de otro archivo de programa. (Como tendrá que trabajar con los ejemplos de más abajo, asegúrese de haber comprendido la diferencia entre cargar un archivo de datos (loading) e importar un archivo de programa (import).)
Hilando fino se puede decir que los programas están compuestos por rutinas que son potencialmente reutilizables. Estas son conocidas como funciones, y Python posee mecanismos que permiten definir nuevas funciones. Vamos a trabajar con un ejemplo muy simple de función y módulo. Supongamos que queremos crear una función con el propósito general de saludar personas. Copie la siguiente definición de función en el Komodo y guárdela como saludo.py. Ese archivo es su módulo.

# saludo.py
def saludogral (x):
    print "hola " + x

Advierta que la indentación es muy importante en Python. Los espacios en blanco antes del comando print le dicen al intérprete que eso es parte de una función que está siendo definida. Usted podrá aprender más sobre esto a medidas que avancemos. Por ahora, asegúrese de mantener la indentación tal como se lo mostramos.
Ahora puede crear otro programa que importe código desde su módulo y haga uso de él. Copie este código en el Komodo y guárdelo como usando-saludo.py. Este archivo es su programa.

# usando-saludo.py
import saludo
saludo.saludogral("a todos")
saludo.saludogral("programming historian")

Puede corer su usando-saludo.py con el commando Run Python que usted creó en el Komodo. Note que no puede correr su módulo…sólo puedo llamarlo desde su programa. (Como habrá podido advertir en este ejemplo y en los previos, las cadenas en Python pueden delimitarse con comillas simples o dobles. Es verdad.) Si todo va bien, usted verá:

hola a todos
hola programming historian

en el panel de salida del Komodo Edit.

Podemos pensar acerca de la “granularidad” del código de dos modos:
. De arriba hacia abajo. Si usted piensa en todas las cosas para las que quiere usar la computadora, puede descomponer el problema en recurrentes subproblemas. Necesita trabajar con archivos (sistema operativo), documentos (procesador de textos), números (planillas de cálculo), imágenes (programa de procesamiento de imágenes), páginas web (browser) y así sucesivamente. Cualquier programa deberá poder abrir, manipular y guardar archivos. Usted puede querer tener la capacidad para chequear la ortografía, puede querer requerir algún tipo de diccionario y la capacidad para buscar cada palabra en él. Buscar palabras implica estar en condiciones de comparar palabras letra por letra. Cada tarea puede ser dividida en otras más pequeñas.
. De abajo hacia arriba. Supongamos que usted comienza con una tarea simple, como sumar dos números entre sí (a+b). En cuanto aprenda a hacerlo, será posible generalizar su habilidad para sumar números entre sí (a+b)+c=(a+b+c). De la suma usted puede llegar a la multiplicación (a*3)=(a+a+a). Una vez que pudo convertir la suma de números en una útil función, puede recurrirse a esta constantemente. Su sistema operativo necesita de la adición para determinar cuánto espacio disponible existe en su disco rígido. Su procesador de texto necesita de la suma para mantener el conteo de las palabras y de las páginas, su planilla de cálculo necesitará mucho de la suma. Útiles “ladrillos” como los de la suma pueden ser combinados y recombinados a cualquier nivel de complejidad.

Acerca de las URLs

Una página web es un archivo que está guardado en otra computadora, una máquina conocida como servidor web. Cuando usted ‘entra’ a una página lo que en verdad sucede es que su computadora, el cliente, envía una petición al servidor que se encuentra en la red, y el servidor responde enviando una copia de la página solicitada a su máquina. Una manera de acceder a una página web con su browser es siguiendo un link de algún sitio. También puede, claro, pegar o tipear una Uniform Resource Locator (URL). La URL le dice a su browser dónde encontrar un recurso online especificándole el servidor, el directorio y el nombre del archivo que quiere recuperar, así como también el tipo de protocolo que el servidor y su browser podrán usar para intercambiar información (como HTTP, “Hypertext Transfer Protocol”). La estructura básica de una URL es

protocolo: //servidor : puerto /ruta ?consulta

Miremos algunos ejemplos.

http://niche.uwo.ca

El tipo más básico de URL simplemente especifica el protocolo y el servidor. Si le da esa URL a su browser, este le devolverá la página principal de sitio NiCHE. Lo que se asume es que la página principal de un determinado directorio se denomina index, a menudo index.html. El sitio NiCHE está escrito en un lenguaje distinto a HTML, pero de todos modos, el nombre de la página principal es index.php (PHP es otro lenguaje de programación web. Si le interesa conocer más sobre el mismo, hay un W3 Schools tutorial).
La URL también puede incluir un número de puerto. Sin entrar en demasiados detalles en este punto, el protocolo de red que soporta el intercambio de información en internet permite que las computadoras se conecten de distintas maneras. Generalmente, el puerto por defecto para HTTP es 80. La siguiente URL es equivalente a la primera:

http://niche.uwo.ca:80

Como sabemos, generalmente hay muchas páginas en un determinado sitio web. Ellas están guardadas en directorios del servidor, y usted puede especificar la ruta de una página en particular. La tabla de contenidos de este libro sigue la siguiente URL (note que no necesitamos mencionar el nombre de archivo ya que también en este caso es index.php.

http://niche.uwo.ca/programming-historian/

Finalmente, algunas páginas web permiten que ingresemos consultas. El sitio web NiCHE, por ejemplo, está dispuesto de tal manera que permite que solicitemos una página en particular usando una cadena de consulta. La siguiente URL nos lleva a la página principal de la infraestructura digital de NiCHE.

http://niche.uwo.ca/?q=node/12

Abriendo URLs con Python

Con el fin de cosechar y procesar automáticamente páginas web, necesitaremos poder abrir URLs con nuestros propios programas. El lenguaje Python incluye varios procedimientos para hacerlo.
Para dar un ejemplo, vamos a trabajar con un tipo de archivo que podemos encontrar cuando hacemos una investigación histórica. Digamos que usted está interesado en [N.T.: Este ejemplo lo ponemos nosotros porque el original tuvo problemas de acceso] Álvar Núñez Cabeza de Vaca, el inefable explorador y tremendo escritor. Con Google podemos localizar una entrada sobre Cabeza de Vaca en The Handbook of Texas Online.

Cabeza de Vaca



La URL para esa entrada es:

http://www.tshaonline.org/handbook/online/articles/CC/fca6.html

Mirando la página nos enteramos que hay una versión para imprimir de esa entrada:

Cabeza de Vaca



La URL es:

http://www.tshaonline.org/handbook/online/articles/CC/fca6_print.html

Cuando procesamos recursos de la web automáticamente a menudo resulta una buena idea trabajar con versiones para imprimir, ya que estas tienden a estar menos formateadas.
Ahora vamos a probar abrir la versión para imprimir de esa entrada. Copiamos el siguiente programa en el Komodo y lo guardamos con abrir-html.py. Cuando lo ejecutemos, el programa abrirá el archivo biográfico, leerá su contenido y lo guardará en una cadena de Python llamada por nosotros html y luego imprimirá los primeros trescientos caracteres de la cadena en el panel “Command Output” del Komodo. Use el comando View -> Page Source en Firefox para verificar que el código fuente HTML de la página es el mismo que el código que su programa recuperó. (Para conocer más sobre la librería urllib2, ver la biblioteca de referencia Python en esta sección.)

# abrir-html.py
import urllib2
url = ' http://www.tshaonline.org/handbook/online/articles/CC/fca6_print.html '
respuesta = urllib2.urlopen(url)
html = respuesta.read()
print html[0:300]

Guardando una copia local de una página web

Ya que usted sabe cómo escribir archivos, es fácil modificar el programa de arriba para que escriba el contenido de la cadena html en un archivo local en lugar de hacerlo en el panel “Command Output” del Komodo. Copie el siguiente programa en el Komodo, guárdelo como guardar-html.py y ejecútelo. Usando el comando File -> Open File en el Firefox, abra el archivo local que fue creado (‘fca6.html’) para confirmar que su copia es la misma que la copia online.

# guardar-html.py
import urllib2
url = ' http://www.tshaonline.org/handbook/online/articles/CC/fca6_print.html '
respuesta = urllib2.urlopen(url)
html = respuesta.read()
f = open('fca6.html', 'w')
f.write(html)
f.close

Entonces, si ya puede guardar un archivo tan fácilmente, ¿puede escribir un programa para bajar un montón de archivos? Puede aumentar las letras y los números del nombre de las páginas del Handbook, por ejemplo, y hacer sus propias copias de un montón de ellas. Sí. Ya lo veremos.

***

la sonrisa de Sabrina

"The Most Curious Thing" es el último texto en Zoom, el blog de Errol Morris. Un post excelente sobre los crímenes de Abu Ghraib, a partir de las fotos en las que soldados americanos aparecen junto a cadáveres o sujetos torturados. El centro del ensayo lo ocupa la foto de Sabrina Harman junto al cadáver de Manadel al-Jamadi: ¿de qué se ríe Sabrina?

linea