Journal code as art : poème bouddhiste auto-génératif en python

Posté par . Licence CC by-sa.
1
10
août
2019

Comme je suis en train de redécouvrir les snippets qui m'ont amusés, marquée etc. Je ne resiste pas à vous partager le poème bouddhiste auto-génératif en python développer en tant que code as art en 2007

source : https://honestpoet.wordpress.com/2007/12/23/worlds-first-poem-written-in-python/

Ps : le poème ne fonctionne plus chez moi , je dois dire que cela fait longtemps que je n'ai plus fais du python , quelqu'un sait pourquoi ?

python poem.py 
Traceback (most recent call last):
  File "poem.py", line 4, in <module>
    myinnards=open('wiseremembrances.py','r')
IOError: [Errno 2] No such file or directory: 'wiseremembrances.py'

Citation :

# This poem was generated from Python 2.5 using a series of list object operations.
# All output (including the output authoring it's own source code)
# was sent to the textfile using a virtual compiler during runtime.


Wise Remembrances


I am not the things I have.
    I am not the people I love.
        I am not the labors I do.
            I am not the perceptions I experience.
                I am not the thoughts I think.
                    I am not the emotions I feel.
                        I am not the rules I follow.
                            But in this moment . . .
                        The rules I follow become me.
                    The emotions I feel become me.
                The thoughts I think become me.
            The perceptions I experience become me.
        The labors I do become me.
    The people I love become me.
The things I have become me.
 Rules I follow. 
    Perceptions I experience. 
        Thoughts I think. 
            Labors I do. 
                Things I have. 
                    People I love. 
                        Emotions I feel. 
                            But I will be unhappy if I forget . . .
                            I am not the things I have.
                        I am not the people I love.
                    I am not the labors I do.
                I am not the perceptions I experience.
            I am not the thoughts I think.
        I am not the emotions I feel.
    I am not the rules I follow.


# Like any good poet, I bare my own innards below:
import random, sys
fileout=open('Wise_remembrances.txt','w')
myinnards=open('wiseremembrances.py','r')
myinnards_exposed=myinnards.read()
sys.stdout=fileout
print '# This poem was generated from Python 2.5 using a series of list object operations.'
print '# All output (including the output authoring it\'s own source code)'
print '# was sent to the textfile using a virtual compiler during runtime.\n'
print '\n\nWise Remembrances\n\n'
global itemcounter
objectlist=[
    'the things I have',
    'the people I love',
    'the labors I do',
    'the perceptions I experience',
    'the thoughts I think',
    'the emotions I feel',
    'the rules I follow']
itemcounter=0
def denunciation(objectlist,itemcounter,grade):
    for item in objectlist:
        print itemcounter*'\t'+'I am not '+item+'.\n',
        itemcounter+=grade
    return itemcounter
def repunct(objectlist):
    for index in range(0,len(objectlist)):
        objectlist[index]=objectlist[index][0].swapcase()+objectlist[index][1:]
itemcounter=denunciation(objectlist,itemcounter,1)
objectlist.reverse()
print '\n'+itemcounter*'\t'+'But in this moment . . .\n'
repunct(objectlist)
for item in objectlist:
    itemcounter-=1
    print itemcounter*'\t'+item+' become me.'
copylist=[]
for item in objectlist:
    copylist.append(item)
random.shuffle(copylist)
newlist=[]
for item in copylist:
    newlist.append(item[4].upper()+item[5:]+'.')


for item in newlist:
    print '\n',itemcounter*'\t',item,
    itemcounter+=1
print '\n\n'+itemcounter*'\t'+'But I will be unhappy if I forget . . .\n'
objectlist.reverse()
repunct(objectlist)
itemcounter=denunciation(objectlist,itemcounter,-1)
print '\n\n# Like any good poet, I bare my own innards below:\n\n'
print myinnards_exposed


# This is software that composes a Buddhist sutra "renunciation poem" "on-the-fly". 
# It further displays it's own source code as above.  If you run the code above in a Python compiler, 
# you will get a different, but similarly-ruled poem.  Interestingly, the Artificial Intelligent "author" 
# reflects on her own process at the end of the poem by displaying her own innards (Including this commentary).
  • # Fichier inexistant en lecture

    Posté par . Évalué à 1 (+2/-1).

    myinnards=open('wiseremembrances.py','r')

    En fait là tu essaies d'ouvrir le fichier wiseremembrances.py en mode lecture (r).
    Du coup, vu qu'il n'existe pas, tu te prends une IOException.

    fileout=open('Wise_remembrances.txt','w')

    À la ligne précédente par contre, tu l'ouvres en mode écriture (w) et ça marche. Si le fichier n'existe pas il est créé et puis voilà.

    C'est le comportement normal, en fait (du moins le seul que je connaisse). Je suppose qu'en 2007, c'était quelque chose qu'on pouvait faire.

    • [^] # Re: Fichier inexistant en lecture

      Posté par . Évalué à 5 (+4/-0).

      Ce ne sont pas les mêmes fichiers qui sont manipulés, l'un est un fichier python, l'autre un fichier txt.

      À vue de nez je dirais plutôt que l'auteur du journal a renommé le script de wiseremembrances.py en poem.py et que c'est pour ça que ne fonctionne plus comme prévu.

    • [^] # Re: Fichier inexistant en lecture

      Posté par . Évalué à 1 (+0/-0).

      Ha oui, j'ai renommé le fichier en wiseremembrances.py , et j'ai enlevé le poème en tant que tel et garde juste le code source python, du coup ca marche ;)

      lorsqu'on garde le poème en tant que tel, cela ne fonctionne pas :

      python wiseremembrances.py 
        File "wiseremembrances.py", line 8
          Wise Remembrances
      

      Il créer en sortie Wise_remembrances.txt qui est la sortie généré code source python et poème (tel que dans le journal )

      Si on le renomme en Wise_remembrances.py et qu'on l'exécute , même problème


      python wiseremembrances.py
      File "wiseremembrances.py", line 8
      Wise Remembrances

      Ce serait bien qu'il puisse généré en plus de Wise_remembrances.txt un Wise_remembrances.py qui soit lui même exécutable en python sans le problème d'inclusion du poème (que python essaie d'interpréter comme du code )

  • # Formattage du texte

    Posté par . Évalué à 4 (+2/-0).

    Je me suis permis qques retouches de reformattage du texte, j'espère ne pas m'être trompé entre code et sortie standard du code.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

  • # Traduction ?

    Posté par . Évalué à 4 (+2/-0). Dernière modification le 10/08/19 à 12:01.

    objectlist=[
        'les choses que je possèdent',
        'les gens que j’aime',
        'les travaux que j’effectue',
        'les sensations que j’éprouve',
        'les réflexions que je me fais',
        'les émotions que je ressens',
        'les règles que je suis']
    
        'Je ne suis pas'
    
        'Mais à cet instant . . .\n'
        ' deviennent Moi.' # le M en majuscule est un clin d’œil au « I » en anglais qu’on met jamais sur le « je » en français.
    
        "# Comme tout bon poète, je crache mes tripes en dessous:"

    (je suis suis embêté pour traduire le « become me. ». Ça ne sonne pas très naturel mais j’ai pas l’impression que ça le soit en anglais non plus)

    • [^] # Re: Traduction ?

      Posté par . Évalué à 5 (+3/-0).

      je crache mes tripes

      Outch xD. Je suggère : « je dévoile mes entrailles ci-dessous ».

      Et puis (à lire avec un ton très pédant et incroyablement désagréable) : « En français, le deux-points est précédé d'une espace insécable » (cette phrase vous est proposée par le collectif « En français, virgule »).

      • [^] # Re: Traduction ?

        Posté par . Évalué à 9 (+9/-0).

        Le comité des drososexuels ajoute qu'il s'agit d'une espace insécable fine.

        • [^] # Re: Traduction ?

          Posté par (page perso) . Évalué à 4 (+2/-0).

          Et en plus chic, il parlera tout simplement de "fine insécable". En plus précis, il parlera du français de France. Au Québec, par exemple les espaces, fines ou pas, avant les ponctuations doubles, ne sont pas de mise, ce qui nuit à la lisibilité de la langue française. En anglais c'est moins gênant du fait de l'absence d'accents et de la relativement moindre utilisation des apostrophes.

          OS préféré Mageia 6 et Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

          • [^] # Re: Traduction ?

            Posté par . Évalué à 6 (+4/-0).

            Le comité des drososexuels a tort. D’après Wikipédia [1] :

            En typographie française de France et au Canada, le deux-points est généralement séparé par une espace insécable du caractère qui le précède

            En France, l’usage est de mettre une espace normale. Je ne connais pas l’usage au Québec, mais cet article de Wikipédia et la page [2] semblent te contredire, Ysabeau. Par contre, en Suisse :

            En Suisse, il est d'usage d'insérer une demi-espace insécable

            Bref, on est aussi censés écrire 20 h 30 et pas 20h30 [3], donc bon…

            • [^] # Re: Traduction ?

              Posté par (page perso) . Évalué à 2 (+0/-0).

              Les correcteurs du Monde que j'ai formés il y a des années, les typographes de la liste typographie çà laquelle j'ai été abonnée, ainsi que quelques doc que j'ai ne sont pas d'accord avec Wikipédia. J'ai la faiblesse de penser qu'ils sont plus compétents en la matière. Tous affirment qu'il y a une fine insécable, passons. J'ai même eu à un moment un script pour Word qui changeait les insécables en fine devant les doubles ponctuations.

              Cela dit, le problème avec la fine insécable, outre qu'elle ne figure pas sur le clavier et que les traitements de texte ne sont pas configurés pour l'ajouter automatiquement, elle ne passe pas bien sur certaines liseuses (dont la mienne qui est peut-être vieille, modèle de 2011, mais qui fonctionne toujours très bien) et sont transformées en un perturbant point d'interrogation.

              Concernant le Québec, je parlais des usages très largement répandus. Mais, effectivement, je n'ai pas regardé plus loin. C'était simplement pour rappeler que, comme pour l'anglais, l'espagnol ou le portugais, les usages (et la langue elle-même d'ailleurs) peuvent varier selon le pays.

              OS préféré Mageia 6 et Mageia 7, CMS préféré SPIP, suite bureautique préférée LibreOffice, logiciel de dessin préféré Inkscape.

              • [^] # Re: Traduction ?

                Posté par . Évalué à 2 (+0/-0). Dernière modification le 19/08/19 à 16:52.

                Intéressant. Tu sais s’il y a un document de référence accessible facilement sur internet là-dessus (qui ne soit pas un truc de l’accadémie française, pour le coup je ne leur accorde aucune espèce de crédit) ?

                (perso je crois que je trouve ça plus joli avec un espace fine insécable donc ça unifierait mes préférence avec les bonnes pratiques, mais on s’en fout un peu)

  • # un peu de préjugés ?

    Posté par . Évalué à -3 (+0/-4). Dernière modification le 13/08/19 à 23:24.

    c'est remplis de préjugés sur le bouddhisme, qui est aussi un parti politique au gouvernement au Japon qui ne fait rien pour apaiser la situation avec la Corée.
    branche religieuse: https://fr.wikipedia.org/wiki/S%C5%8Dka_Gakkai
    Branche politique: https://fr.wikipedia.org/wiki/K%C5%8Dmeit%C5%8D

    En parlant de religion de paix, j'attends la version 2 , avec poème islamique ou catholique ?

    • [^] # Re: un peu de préjugés ?

      Posté par . Évalué à 3 (+2/-0).

      Salut,

      c'est remplis de préjugés sur le bouddhisme, qui est aussi un parti politique
      […]
      En parlant de religion de paix, j'attends la version 2 , avec poème islamique ou catholique ?

      Je pense que tu fais une énorme confusion, entre des personnes pratiquantes, mais dans le cadre de leur vie privée, même si ça peut s'afficher un peu en public, et des personnes « ayatollah » (bon, il y aurait sûrement un terme plus adapté).

      De là où je vis, en tout cas, je ne vois pas du tout de problème à ce que des communautés ayant différentes valeurs cohabitent, même dans des espaces assez serrés comme la banlieue Parisienne.

      Moi, je suis dans le cas « athée », et dans ma rue, on est plutôt dans ce genre, même si il y a un certain nombre d'exceptions. Tout se passe bien.

      Lorsque je dois aller au boulot, ou sortir vers une autre direction, je peux au choix :
      - passer vers un quartier plutôt « bourgeois-bohème » (jamais vu de soucis),
      - passer dans un quartier plutôt « Bamako » (c'est son "petit" nom, au vu de la fréquentation, jamais vu de problème particulier non plus, pourtant j'y passe en ce moment deux fois par jour),
      - passer autrement dans un quartier « juif » (ce n'est pas mon détour usuel, c'est plus lorsque j'ai autre chose à faire que le boulot, et là encore, rien. Peut-être un peu de présence d'hommes armés autour de la synagogue il y a quelques temps, mais c'était un lieu plus ou moins proche de l'Hyper Cacher de Vincennes).

      Bref, je passe sans soucis dans ces quartiers, malgré mes dr-martens, mes cheveux longs et quand le temps me le permet un blouson en cuir.

      Ah, j'oubliais, oui, quand je dois faire un détour 4 pour aller chercher de la bière tard le soir, cette rue est plus « islamique ». Bah pareil, jamais eu de soucis.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.