![見出し画像](https://assets.st-note.com/production/uploads/images/46610585/rectangle_large_type_2_fa44a84d79490e7932ce5b2457c6ab9c.png?width=1200)
テキストファイルをダイアログボックスを使って読み込む
今日は、『しんせつなPython』の第14章での学びをアウトプットします。
本章では、
①ダウンロードしたテキストファイルを、ダイアログボックスを使って読み込む
②読み込んだファイルについて以下のことを調べる。
-1.全体の文字数
-2.ある特定の文字列が含まれている回数
ということを実現するコードを書いていきます。
Python2.0系を採用していた…
from tkFileDialog import askopenfilename
my_file = askopenfile()
print type(my_file)
print my_file
上記のコードを入力して実行すると、”ModuleNotFoundErrar”というエラーメッセージが出てきました。
このコード、print関数の書き方にも違和感を感じます。
どうやら、Python2.0系の書き方になっているようです。
自分で調べて、Python3.0系での書き方に変更
自分の実行環境は、Python3.0系なので、自分で少し調べてみて、コードを書き換える必要が出てきました。
で、本章を学び終えた頃の全体コードは以下のようになりました。
import tkinter.filedialog
my_file = tkinter.filedialog.askopenfilename()
try:
with open(my_file, 'r') as f:
my_words = f.read()
print('全体の文字数は' + str(len(my_words)) + '文字です')
tango = input('検索したい単語を入力してください。終了するときはendと入力してください:')
while True:
if tango == 'end':
break
else:
print(tango + 'は、' + str(my_words.count(tango)) + '回でてきます。')
break
except IOError as iow:
print('ファイルを読み込めませんでした')
Python2.0系は2020年にサポートを終了したはずです。
本書の発行日を確認すると、「2016年10月1日」でした。
どうして、Python2.0系で書かれているのだろう…
いいなと思ったら応援しよう!
![在野研究者トシヤ](https://assets.st-note.com/production/uploads/images/68199001/profile_1b4bacf8d5918b8f4e27ae33c1707504.jpg?width=600&crop=1:1,smart)