C'est un record de défi de 100 langues de traitement knock 2015. L'environnement est Ubuntu 16.04 LTS + Python 3.5.2 : : Anaconda 4.1.1 (64 bits). Cliquez ici pour une liste des coups passés (http://qiita.com/segavvy/items/fb50ba8097d59475f760).
hightemp.txt est un fichier qui stocke l'enregistrement de la température la plus élevée au Japon dans le format délimité par des tabulations de «préfecture», «point», «℃» et «jour». Créez un programme qui effectue le traitement suivant et exécutez hightemp.txt en tant que fichier d'entrée. De plus, exécutez le même processus avec une commande UNIX et vérifiez le résultat de l'exécution du programme.
homme
Dans ce chapitre, vous étudierez les commandes UNIX. Je ne savais pas comment rechercher les commandes UNIX, alors quand j'ai demandé à un collègue au travail, il m'a conseillé de "prendre l'habitude de chercher d'abord avec man" et a immédiatement essayé "man wc" sur le terminal.
Était-ce encore en anglais> <
Mais heureusement, il y avait un package qui a été traduit en japonais.
sudo apt-get install manpages-ja
Vous pouvez l'installer avec. Merci à tous les bénévoles.
Maintenant je suis en japonais.
Passons au problème.
Comptez le nombre de lignes. Utilisez la commande wc pour confirmation.
Le code fini:
main.py
# coding: utf-8
fname = 'hightemp.txt'
count = 0
with open(fname) as data_file:
for line in data_file:
count += 1
print(count)
Résultat de l'exécution:
Terminal
24
Pour confirmation avec les commandes UNIX, je vais essayer d'utiliser un script ainsi que d'étudier les scripts shell.
test.sh
#!/bin/sh
wc --line hightemp.txt
Résultat de l'exécution:
Terminal
24 hightemp.txt
Le nombre de lignes est le même.
Lors de l'exécution directe d'un script shell, il est nécessaire de donner l'autorisation d'exécution au fichier script. Accordez l'autorité avec chmod + x test.sh
etc. De plus, UNIX ne trouvera pas le fichier exécutable actuel à moins qu'il ne se trouve dans le chemin. Au moment de l'exécution, il est nécessaire de spécifier l'emplacement comme . / Test.sh
.
Les allers-retours entre UNIX et Windows peuvent être déroutants. C'est peut-être une question de familiarité, mais parfois je tape «ls» sous Windows ^^;
C'est tout pour le 11e coup. Si vous avez des erreurs, j'apprécierais que vous les signaliez.
Recommended Posts