質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

IndentationError: expected an indented block  原因はなんでしょうか?

horisuke3232
horisuke3232

総合スコア109

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

2回答

1グッド

0クリップ

21312閲覧

投稿2016/08/22 11:51

Raspberry Pi を使って人感センサーに反応したらiPhoneにお知らせする物を作りたいと思い、調べたところ下記のサイトを発見しました。
https://www.sho-yamane.me/entry/2015/06/07/195407
こちらを参考にgmailのアドレス、パスワードを変更して実行してみたのですが、

python

1line 34 2 """ 3 ^ 4IndentationError: expected an indented block

とエラーが表示されます。

python

1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3from __future__ import print_function 4import os.path 5import datetime 6import smtplib 7import socket 8import time 9import RPi.GPIO as GPIO 10GPIO.setmode(GPIO.BCM) 11GPIO.setup(25, GPIO.IN) 12from contextlib import closing 13from email import Encoders 14from email.Utils import formatdate 15from email.MIMEBase import MIMEBase 16from email.MIMEMultipart import MIMEMultipart 17from email.MIMEText import MIMEText 18#Gmailアカウント 19ADDRESS = "Gmailアドレス" 20PASSWARD = "Gmailパスワード" 21#SMTPサーバの設定(Gmail用) 22SMTP = "smtp.gmail.com" 23PORT = 587 24def create_message(from_addr, to_addr, subject, body, mime=None, attach_file=None): 25""" 26 メッセージを作成する 27 @:param from_addr 差出人 28 @:param to_addr 宛先 29 @:param subject 件名 30 @:param body 本文 31 @:param mime MIME 32 @:param attach_file 添付ファイル 33 @:return メッセージ 34 """

一番最後が34行目です。

"""の前を一度削除して、tabを押した後、"""と入力し直したのですが、同じくエラーが出ます。
何が原因なのでしょうか?

kiruke2525👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答2

0

私の環境では、以下(25行目にtab挿入)でエラーが出なくなりました。

python

1#!/usr/bin/env python 2# -*- coding: utf-8 -*- 3from __future__ import print_function 4import os.path 5import datetime 6import smtplib 7import socket 8import time 9import RPi.GPIO as GPIO 10GPIO.setmode(GPIO.BCM) 11GPIO.setup(25, GPIO.IN) 12from contextlib import closing 13from email import Encoders 14from email.Utils import formatdate 15from email.MIMEBase import MIMEBase 16from email.MIMEMultipart import MIMEMultipart 17from email.MIMEText import MIMEText 18#Gmailアカウント 19ADDRESS = "Gmailアドレス" 20PASSWARD = "Gmailパスワード" 21#SMTPサーバの設定(Gmail用) 22SMTP = "smtp.gmail.com" 23PORT = 587 24def create_message(from_addr, to_addr, subject, body, mime=None, attach_file=None): 25 """ 26 メッセージを作成する 27 @:param from_addr 差出人 28 @:param to_addr 宛先 29 @:param subject 件名 30 @:param body 本文 31 @:param mime MIME 32 @:param attach_file 添付ファイル 33 @:return メッセージ 34 """

投稿2016/08/22 12:35

編集2016/08/22 12:37
snowfaller

総合スコア125

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

horisuke3232

2016/08/22 19:59

回答ありがとうございました。 25行目が原因でした。

0

ベストアンサー

エラー上は34行目と出ていますが、どちらかというとコメント部分の開始側の問題です。

python

1def create_message(from_addr, to_addr, subject, body, mime=None, attach_file=None): 2 """ 3 メッセージを作成する 4 @:param from_addr 差出人 5 @:param to_addr 宛先 6 @:param subject 件名 7 @:param body 本文 8 @:param mime MIME 9 @:param attach_file 添付ファイル 10 @:return メッセージ 11 """

上記のように、25行目のインデント構造を正しくすれば、
その部分のエラー自体は解消されると思います。

投稿2016/08/22 12:25

attakei

総合スコア2723

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

horisuke3232

2016/08/22 20:00

回答ありがとうございました。 解決いたしました。 しかし、今度はLine44でエラーが。。。
attakei

2016/08/23 03:00

質問内のURL先で記載されているコードなのですが、Pythonに重要なインデント情報が全くなくて、あのままではまともに動かないですね。 どの行をどこまでインデントさせればいいのかを調べるのは面倒そうなのですが、頑張ってみてください。 目安としては、:で終わっている行の次からインデントを1階層進めるように心がければ動くとは思います。
horisuke3232

2016/08/23 09:05

インデント情報が重要ということがわかりました。 ありがとうございます。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。