[Pythonista] L'histoire de la réalisation d'une action pour copier le texte sélectionné

J'ai fait une action car le clavier personnalisé de Pythonista a une pâte mais pas de copie

Pythonista est pratique, n'est-ce pas? C'est parfait pour coder en déplacement et il est facile de créer une interface graphique, donc c'est très pratique pour pirater des appareils iOS.

Le clavier personnalisé est également bon et je n'ai presque rien à redire, mais j'ai décidé d'utiliser une action à la place car j'ai une touche Coller mais pas de touche Copie.

Introduction Qu'est-ce que Pythonista?

Tout d'abord, une brève introduction à Pythonista. Pythonista est une application payante pour iOS et est un ** environnement de développement Python ** pour iPhone et iPad.

Pythonista sur l'App Store

Il est livré avec du vrai Python [^ 1] au lieu d'un compilateur en ligne et fonctionne localement.

De plus, l'opérabilité du clavier personnalisé conçu pour iOS est suffisamment pratique et vous pouvez effectuer un codage sans stress.

pythonista01-compressor.gif

Le module dédié inclus est également puissant,

--Accès au presse-papiers --Accès aux informations de localisation

Et ainsi de suite, il regorge de fonctions qui peuvent être un peu tirées. C'est un environnement très recommandé pour un développement amusant en utilisant des modules puissants.

Actuellement, en raison de la demande enthousiaste des utilisateurs, la version bêta de Python3 de Pythonista est actuellement en cours de développement.

Pythonista 3.x Beta

Créer une action pour étendre l'éditeur

Comme je l'ai fait dans la vidéo ci-dessus, dans Pythonista, vous pouvez modifier la plage de sélection en douceur en faisant glisser le clavier avec deux doigts, mais il était stressant que la commande Copier ne soit pas sortie après avoir défini la plage.

Donc, après avoir étudié Pythonista, j'ai fait une action pour copier la chaîne de caractères de la plage sélectionnée dans le presse-papiers. Voici la procédure de travail.

Créez copy_text.py dans le répertoire site-packages

Le répertoire site-package est le répertoire fourni par Pythonista par défaut, et le chemin d'importation s'y trouve. (Il a été écrit dans Readme.txt)

IMG_0013.PNG

Comme vous l'avez dit, créons ici copy_text.py. La fonction est divisée en deux méthodes, get_selected_text et copy_text, en tenant compte du but de l'acquisition et de la modification de la chaîne de caractères sélectionnée ultérieurement. (Comme il s'agit d'un code simple, j'omettrai l'explication du script)

copy_text.py



# coding: utf-8

import sys,editor,clipboard,console
reload(sys)
sys.setdefaultencoding('utf-8')

def get_selected_text():
	text = editor.get_text()
	selection = editor.get_selection()
	selected_text = text[selection[0]:selection[1]]
	return selected_text
		
def copy_text():
	if get_selected_text():
		clipboard.set(get_selected_text())
		
if __name__ == "__main__":
	copy_text()	

Lorsque vous avez fini d'écrire le code, sélectionnez le texte sur l'écran d'édition de copy_text.py, exécutez le bouton Exécuter et le texte sélectionné doit être copié dans le presse-papiers.

Créer une action

Enregistrez ensuite copy_text.py dans l'action. Pour vous inscrire à une action, cliquez sur le bouton clé en haut à droite de l'écran. Veuillez vous référer à la vidéo de la situation. (La résolution a été réduite de moitié en raison de problèmes de taille de fichier)

pythonista02_herf-compressor.gif

La procédure est la suivante.

  1. Appuyez sur le bouton clé
  2. Appuyez sur Modifier
  3. Appuyez sur la marque +
  4. Spécifiez un nom et une icône de commande personnalisés

utilisation

Sélectionnez simplement le texte que vous souhaitez copier lors de l'édition d'un fichier, appuyez sur le bouton clé et exécutez Copier.

Bien entendu, vous n'avez pas besoin d'importer le module copy_text dans le fichier cible.

IMG_0016.PNG

Conclusion

** Amusement Pythonista! !! ** **

[^ 1]: Dans Pythonista 2.0, la version Python est 2.7.5.

Recommended Posts

[Pythonista] L'histoire de la réalisation d'une action pour copier le texte sélectionné
L'histoire de la fabrication d'un moule immuable
L'histoire d'essayer de reconnecter le client
L'histoire de la mise en place de MeCab dans Ubuntu 16.04
L'histoire du changement de pep8 en pycodestyle
L'histoire de la création d'un outil pour charger une image avec Python ⇒ l'enregistrer sous un autre nom
L'histoire de la création d'un générateur d'icônes mel
Histoire de passer de Pipenv à la poésie
L'histoire de la fabrication de soracom_exporter (j'ai essayé de surveiller SORACOM Air avec Prometheus)
L'histoire de la création d'un réseau neuronal de génération musicale
L'histoire de sys.path.append ()
La route vers Pythonista
L'histoire de vouloir acheter une aventure en forme de bague
L'histoire de l'utilisation de Circleci pour construire des roues Manylinux
L'histoire de l'introduction de Jedi (package de complétion automatique de python) dans emacs
Une introduction à l'orientation des objets - changeons l'état interne d'un objet
L'histoire de la copie de données de S3 vers TeamDrive de Google
Après tout, l'histoire du retour de Linux à Windows
L'histoire de la création d'un bot de boîte à questions avec discord.py
L'histoire de la construction de Zabbix 4.4
L'histoire selon laquelle la version de python 3.7.7 n'était pas adaptée à Heroku
L'histoire de ne pas pouvoir exécuter pygame avec pycharm
Comment connaître la structure interne d'un objet en Python
Créez le thème de Pythonista 3 comme Monokai (comment créer votre propre thème)
L'histoire de la création d'un pilote standard pour db avec python.
L'histoire de la création d'un module qui ignore le courrier avec python
L'histoire de l'échec de la mise à jour de "calendar.day_abbr" sur l'écran d'administration de django
L'histoire de Python et l'histoire de NaN
L'histoire de la participation à AtCoder
Obtenir les attributs d'un objet
L'histoire du "trou" dans le fichier
L'histoire du remontage du serveur d'application
Supplément à l'explication de vscode
L'histoire de l'exportation d'un programme
L'histoire de la création d'un robot LINE pour le petit-déjeuner d'une université de 100 yens avec Python
zoom J'ai essayé de quantifier le degré d'excitation de l'histoire lors de la conférence
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
J'ai essayé d'extraire et d'illustrer l'étape de l'histoire à l'aide de COTOHA
L'histoire de la création d'une caméra sonore avec Touch Designer et ReSpeaker
Parlez de la probabilité d'évasion d'une marche aléatoire sur une grille entière
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
Je souhaite laisser une commande arbitraire dans l'historique des commandes de Shell
L'histoire de la création d'un package qui accélère le fonctionnement de Juman (Juman ++) & KNP
J'ai essayé l'histoire courante de l'utilisation du Deep Learning pour prédire la moyenne Nikkei
L'histoire de la tentative de pousser SSH_AUTH_SOCK obsolète avec LD_PRELOAD à l'écran
Un exemple de réponse à la question de référence de la session d'étude. Avec python.
Faites attention au type lorsque vous créez un masque d'image avec Numpy