non foundと表示される理由
- 評価
- クリップ 0
- VIEW 284
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
いちばんやさしいpythonの教本と言う参考書を使い辞書とファイル入出力を使ったプログラムの作成。
ターミナルでtype evaluation.txtを実装中に以下のエラーメッセージが発生しました。
参考書だと
user_name@MacBook-Pro yasashiipython % type evaluation.txt
[Takanori_Suzuki] total: 269, evaluation: Excellent!
[Takayuki_Shimizukiwa] total: 256, evaluation: Excellent!
[Mitsuki_Sugiya] total: 231, evaluation: Good!
となるはずだったのです。
これはPythonのエラーではなく、使ってるMacの問題だそうです。
発生している問題・エラーメッセージ
user_name@MacBook-Pro yasashiipython % type evaluation.txt
evaluation.txt not found
該当のソースコード
ファイル名 point.txt
Takanori_Suzuki:100,88,81
Takayuki_Shimizukiwa:77,94,85
Mitsuki_Sugiya:80,52,99
ファイル名 05_file.py
open_file = open('point.txt')
raw_data = open_file.read()
open_file.close()
point_data = raw_data.splitlines()
point_dict = {}
for line in point_data:
student_name, points_str = line.split(':')
point_dict[student_name] = points_str
score_dict = {}
for student_name in point_dict:
point_list = point_dict[student_name].split(',')
subject_number = len(point_list)
total = 0
for point in point_list:
total = total + int(point)
average = total / subject_number
score_dict[student_name] = (total, average, subject_number)
evaluation_dict = {}
for student_name in score_dict:
score_data = score_dict[student_name]
total = score_data[0]
average = score_data[1]
subject_number = score_data[2]
excellent = subject_number * 100 * 0.8
good = subject_number * 100 * 0.65
if total >= excellent:
evaluation = 'Excellent!'
elif total >= good:
evaluation = 'Good!'
else:
evaluation = 'Bad!'
evaluation_dict[student_name] = evaluation
file_name = 'evaluation.txt'
output_file = open(file_name, 'w')
for student_name in score_dict:
score_data = score_dict[student_name]
total = score_data[0]
evaluation = evaluation_dict[student_name]
text = '[{}] total: {}, evaluation: {}\n'.format(student_name, total, evaluation)
output_file.write(text)
output_file.close()
print('評価結果を{}に出力しました'.format(file_name))
ファイル名 evaluation.txt
[Takanori_Suzuki] total: 269, evaluation: Excellent!
[Takayuki_Shimizukiwa] total: 256, evaluation: Excellent!
[Mitsuki_Sugiya] total: 231, evaluation: Good!
試したこと
print関数でevaluation.txtの原因を試したら、
File "evaluation.txt", line 1
[Takanori_Suzuki] total: 269, evaluation: Excellent!
^
SyntaxError: invalid syntax
となり変数textを見直しましたがどこが原因なのかわかりませんでした。
補足情報(FW/ツールのバージョンなど)
Python3.8.3/Atom/Kite/macOS Catalina
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
おそらく書籍の中ではevaluation.txtの中身をコマンドプロンプトで表示させているのではないかと思われます。
質問者さんはMacを使用とのことなので「cat evaluation.txt」でevaluation.txtの中身が表示されるのではないでしょうか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
typeって型を調べるに使うと思うのですが、
違いますよ。
typeは、シェルが実行できるコマンドが、PATHのどこにあるかを示すコマンドです。
$ type open
open is /usr/bin/open
$ type echo
echo is a shell builtin
$ type ls
ls is an alias for ls -AF --color=auto
$ type python
python is /Users/ユーザ名/.pyenv/shims/python
みたいな結果が返ってきます。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.34%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
meg_
2020/06/02 20:59
エラーメッセージは全文掲載出来ませんか?
Beginner_Boy
2020/06/02 21:09
ターミナルに表示された文をコピペしました。
これで問題ないですか?
meg_
2020/06/02 21:53
エラーとはPythonのエラーではなかったのですね? Macのことは分かりません。
Beginner_Boy
2020/06/02 22:20
これってPythonのエラーじゃなくてパソコンの問題だったんですね。
それと、typeの回答ありがとうございました。
まだ始めたばかりで完全に理解した訳でわありませんがターミナルでのtypeのなんの役割をしているのかを知ることができました。
回答ありがとうございました。