2017-03-20 11 views
0

私は「難しい方法をPythonに学ぶ方法」に従おうとしており、非常に早い段階で問題に取り組んでいます。最初のプログラム「hello world」を実行しようとすると、構文エラーが発生します。SyntaxError:文字列リテラルをスキャン中のEOL - 引用符が無視されるのはなぜですか?

エラーメッセージ:

File "ex1.py", line 1 

print "Hello World! 
       ^
SyntaxError: EOL while scanning string literal 

コードは私のテキストファイルに書かれている:私は.pyとしてファイルを保存した

print "Hello World!" 
print "Hello Again" 

。私は約5回コードを書き直しました。著者のコードをコピーして貼り付けても、同じエラーが表示されます。エラーメッセージから判断すると、「World!」の後に引用符を入れなかったようです。しかし、そこに引用があります。

また、最初の引用符が表示されていることに気付きました。こんにちはのHの直前です。私はこれらの問題が関連していなければならないと思います。どういうわけかパーサが私の引用符を無視していると思います。

+0

投稿したコードに引用が表示されません。 –

+0

アトム(私が使用するテキストエディタ)で書かれているように、正確なコードは次の通りです - print "Hello World!" //「こんにちは」 を印刷//「これをタイプしたい」 //これは楽しいです。 // print 'Yay!印刷。' // "あなたはむしろあなたのほうがいい"と言います。 //「私は」これに触れないでください。 –

+1

正確なコードを質問に入れる方が良いでしょう。あなたはそれを編集できるはずです。そうすれば、書式を保持することができます。確認するには:線の下の矢印は感嘆符を指していますか?感嘆符を削除するとどうなりますか? –

答えて

0

あなたが終わるダブルクォートにprint "Hello World!"

UPDATE行方不明: それが正常に動作していますが。 これをアトムに保存します。すべての行 "Not one line"に印刷します。 例:qoutesを使わずに「test.py」に保存します。 そして実行python test.py

print "Hello World!" 
print "Hello Again" 
print "I like typing this." 
print "This is fun." 
print 'Yay! Printing.' 
print "I'd much rather you 'not'." 
print 'I "said" do not touch this.' 

print文の前にはスペースを空けません。

+0

私はそれを自分のテキストファイルに書きました。私の質問は私のテキストファイル引用が私のコマンドラインに引き継がれない理由です。 –

+0

@EnzoCnop:いいえ、あなたの質問は "なぜ文字列リテラルをスキャン中に' SyntaxError:EOLを取得するのですか? "です。たぶん、実行しているファイルとは異なるファイルを編集することがあります。 – Matthias

+0

これらの質問は同じです。私は "Hello World!"の引用をしています。私のテキストファイルに推奨されているように書かれていますが、私はそれらの引用を持っていないと私に伝えます。私は引用がテキストファイルに正しく配置されているときにこのエラーが発生する理由を理解しようとしています。 –

0

実際にはascii quote文字であることを確認する "感嘆符は本当にascii感嘆符であることを確認する必要があれば、行全体を削除して再入力することができます。私はこのしようとすると、文字が

しかし:。

print "dddddd” 

を私が取得:

$ python abc 
    File "abc", line 1 
SyntaxError: Non-ASCII character '\xe2' in file abc on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 

私はUTF-8 characteを宣言した場合

-*- coding: utf-8 -*- 
print "dddddd” 

その後、私は同様のエラー(ビット異なるが)を取得:

File "abc", line 2 
    print "dddddd” 
       ^
SyntaxError: EOL while scanning string literal 
+0

Atomは私がUTF-8であることを示します。これは有用であり、今後も知っておくと良いことですが。ありがとうございました! –

0

あなたは「プリントと括弧を使用してみました(あなたが行っている示されていない何か)がセットR '声明?このように:

print('Hello') 

BR

+2

おそらくPython 3との互換性はありますが、この質問はPython 2.7に関するものでした。 Python 2.7ではprintステートメントのための括弧は必要ありません。エラーが変更されたかどうかを確認することは役に立ちますが... –

0

私はそれを修正わからないんだけど、私は、「RMの-R」で端子を介してファイルやホストフォルダを削除することになった、私のコンピュータを再起動し、作成します原子を介して作業する新しいフォルダ。私は同じ方法で同じ手順を踏んで、それは走った。あなたの忍耐力の人に感謝します。あなたがこれに取り組んでいる場合は、関係するすべてのものを削除し、コンピュータを再起動してみてください。

関連する問題