1 votes

Analyse syntaxique du texte, "ligne par ligne", avec l'automate

Je suis très novice en programmation, alors pardonnez-moi si c'est une question très simple, mais j'essaie de créer un flux de travail Automator où la variable changerait à chaque boucle, en tirant les entrées d'un document texttedit.

(et aussi, je suis en train de créer le document d'édition de texte, donc si le formater différemment rendrait les choses plus faciles, faites-le moi savoir)

Par exemple, j'ai un document d'édition de texte avec plusieurs numéros, tous à 3 chiffres, séparés par des sauts de ligne, comme ceci :

001
005
009
013
014
021

J'aimerais qu'Automator exécute un flux de travail une première fois avec la variable "001", puis une deuxième fois avec la variable "005", puis une troisième fois avec la variable "009" et ainsi de suite. Et si cela facilite les choses, je peux les formater pour qu'elles soient toutes sur une seule ligne, séparées par des virgules, entourées de parenthèses, selon ce qui est le mieux.

Je connais un peu de Javascript et d'AppleScript, donc si c'est quelque chose qui se résout avec une boîte d'exécution de Javascript ou d'AppleScript, c'est totalement cool. Merci !

1voto

user3439894 Points 52496

Étant donné que l'étendue de ce que vous essayez d'accomplir n'est pas totalement claire, les éléments suivants peuvent être utilisés exemple AppleScript code est conçu comme un preuve de concept .

Avec un document en texte clair nom Nom de fichier.txt dans le Documents dossier contenant :

001
005
009
013
014
021

Sans avoir saut de ligne après la dernière ligne voici quelque chose que vous pourriez adapter pour atteindre votre objectif.

En exemple AppleScript code montré ci-dessous, a été testé dans scriptÉditeur sous MacOS Catalina avec Langue et région paramètres dans Préférences du système réglé sur Anglais (US) - Primaire et a fonctionné pour moi sans problème 1 .

  • 1 Assume les paramètres nécessaires et appropriés dans <strong>Préférences du système </strong>> <strong>Sécurité et confidentialité </strong>> <strong>Vie privée </strong>ont été fixés/réglés selon les besoins.

Ejemplo AppleScript code

set theFile to ¬
    the POSIX path of ¬
        (((path to documents folder) ¬
            as string) & "Filename.txt")

set myList to ¬
    paragraphs of (read theFile)

tell application "TextEdit"
    activate
    make new document
    delay 2
end tell

tell application "System Events"
    repeat with thisItem in myList
        keystroke thisItem
        key code 36 --  # Enter key
    end repeat
end tell

Produit les éléments suivants :

enter image description here

Regarder dans le Résultats panneau de la scriptÉditeur fenêtre ça se voit :

tell current application
    path to documents folder
        --> alias "Macintosh HD:Users:me:Documents:"
    read "/Users/me/Documents/Filename.txt"
        --> "001
005
009
013
014
021"
end tell
tell application "TextEdit"
    activate
    make new document
        --> document "Untitled"
end tell
tell application "System Events"
    keystroke "001"
    key code 36
    keystroke "005"
    key code 36
    keystroke "009"
    key code 36
    keystroke "013"
    key code 36
    keystroke "014"
    key code 36
    keystroke "021"
    key code 36
end tell

Remarque : Le <em>exemple </em><strong>AppleScript </strong><em>code </em>est juste cela et sans aucune inclusion <em>gestion des erreurs </em>ne contient pas d'autres <em>gestion des erreurs </em>comme il se doit. C'est à l'utilisateur qu'il incombe d'ajouter toute <em>traitement des erreurs </em>selon ce qui est approprié, nécessaire ou souhaité. Consultez le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>essayez </strong></a><em>déclaration </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>erreur </strong></a><em>déclaration </em>dans le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guide du langage AppleScript </strong></a>. Voir aussi, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Travailler avec des erreurs </strong></a>. En outre, l'utilisation de la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retarder </strong></a><em>commande </em>peut être nécessaire entre les événements, le cas échéant, par ex. <code>delay 0.5</code> avec le <em>valeur </em>de la <em>retarder </em>définis de manière appropriée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X