[PYTHON] Je voulais le faire comme exécuter un cas de test pour AtCoder.

Ce que je voulais faire

Avez-vous déjà essayé de profiter de fonctionnalités telles que le test de code d'AtCoder et l'exécution en ligne de Yukicoder? J'aimerais pouvoir le faire en Python.

Eh bien, en bref, j'aimerais pouvoir lire le fichier .txt avec l'entrée de Python ().

Cet environnement d'exécution est Windows 10.

À l'invite de commande

Tout d'abord, créons un dossier approprié et insérons le fichier input.txt pour l'entrée appropriée et le fichier main.py contenant la fonction input ().

Si vous vous déplacez vers le dossier que vous avez créé précédemment à l'invite de commande et entrez python main.py <input.txt, il est étrange que vous puissiez lire à partir du fichier texte! !!

Au fait, cela fonctionne même si vous faites cela avec open (0) .read ().

En Python

J'ai essayé de le faire avec un sous-processus et je l'ai tué pendant 3 jours après essais et erreurs. C'est Aho. Dans le code source suivant, la sortie qui sort avec la fonction d'impression sort. L'option timeout a une limite de temps d'exécution, shell = True et elle fonctionne à une invite de commande réelle. Au fait, la sortie est de type octet, donc si vous voulez en faire un type de chaîne de caractères, faites-la bouillir avec encode () ou faites-la cuire au four ...

Cependant, la documentation officielle recommande de ne pas l'utiliser car il peut s'agir d'une faille de sécurité. Winodws Si vous spécifiez le sort de destruction, non seulement Python mais aussi Windows disparaîtra ...

import subprocess
print(subprocess.check_output('python main.py < input.txt',timeout=5,shell=True))

En fait, d'ailleurs ...

Il semble que vous puissiez faire plus de détails avec la fonction Popen (). Je ne sais pas du tout. Il faudra environ 5 jours pour comprendre.

finalement

C'est devenu un putain d'article. J'écrirai plus quand je serai plus détaillé. .. ..

Recommended Posts

Je voulais le faire comme exécuter un cas de test pour AtCoder.
Je voulais faire quelque chose comme la pipe d'Elixir en Python
[Apprentissage automatique] J'ai essayé de faire quelque chose comme passer des images
[Python] Ce que j'ai fait pour faire un test unitaire
Je veux faire quelque chose comme sort uniq en Python
Je voulais calculer un tableau avec la méthode des subs de Sympy
[Django] Je voulais tester lors du POST d'un fichier volumineux [TDD]
Je veux améliorer l'efficacité avec Python même dans un système expérimental (3) Je veux faire quelque chose comme Excel avec Pandas
Chaîne de hachage que je voulais éviter (2)
Je voulais faire évoluer cGAN vers ACGAN
Je veux faire ○○ avec les Pandas
Chaîne de hachage que je voulais éviter (1)
Je voulais générer une phrase comme "Fucking Rashomon" (ancienne forme)
Je veux le faire avec Python lambda Django, mais je vais m'arrêter
J'ai fait une IA pour juger si c'est de l'alcool ou non!
J'ai installé PySide2, mais pyside2-uic ne fonctionnait pas, alors j'ai réussi à le faire.
C'est plus récent, mais je voulais essayer le calcul de l'IMC avec python.