こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

pythonのシンタックスエラー

python3のサンプルコードがあり、エラーが出ます。
内容はファイルを開いてちょっと変更して中身をプリントするというものです。
これは私が書いたのではなく、本の付録のサンプルなのですが、文法エラーとなります。何が原因かご指摘を頂ければと思いますが。文字コードの問題かなと思いましたが、UTF_8となっています。ファイルをdata.pyとして保存して、コマンドでpython data.pyを叩いたときに出てきます。(すみません、ここに張り付けた段階でインデントが見えなくなっているようですが、それは実際は問題ないです)

file = "data.dat"
limit = 2.0
with open(file, "r", encoding="utf_8") as fileobj:
for i, line in enumerate(fileobj):
if line == "\n":
continue
datalist = line.split(",")
result = [int(float(num)<=limit) for num in datalist]
print(f"{i}:{result}")

#エラーメッセージ
# File "data.py", line 9
# print(f"{i}:{result}")
^
#SyntaxError: invalid syntax
これに関連する質問ですが、pythonはコンパイルしないようになっているみたいなので、コンパイル時のエラーと実行時のエラーの区別がつきません。このエラーは実際に動作してエラーが出ているということなのでしょうか。他の言語ではシンタックスエラーはコンパイルエラーなので実行前のエラーとは思いますが、文法チェックと実行の関係を教えて頂ければと思いますが。
よろしくお願いします。

投稿日時 - 2018-04-23 08:33:06

QNo.9491458

困ってます

質問者が選んだベストアンサー

f"~~"の書式化文字列リテラルの機能は、ver3.6からですが、Pythonのバージョンがそれ以前ではないですか?
その場合は、別の方法(%とか)を使ってください。

投稿日時 - 2018-04-23 10:51:43

お礼

回答ありがとうございます。ご指摘の通りバージョンの問題でした。気を付ける必要があることがわかりました。

投稿日時 - 2018-04-26 17:26:04

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問