2017-11-27 11 views
1

それを実行私は、変数に次の式を代入したいと思います:が変数に式を代入し、

textFormat = 'soup.find("div", {"class" : "article-entry text"}).text.replace(\'\n\', "")' 

私は

悲しい
text = exec(textFormat) 

を使用して別のファイルにこのコードを呼び出しています私が手エラーメッセージ:

File "C:\Users\dadsad\documents\coding\dasdasd\functions.py", line 42, in loadAtom 
    text = exec(textFormat) File "<string>", line 1 
    soup.find("div", {"class" : "article-entry text"}).text.replace(' 
                    ^SyntaxError: EOL while scanning string literal 

どのようなアイデアですか?ありがとう! :)

編集: enter image description here

+4

それは '\\ N 'する必要があります。 – Blorgbeard

+3

あなたが 'print(textFormat)'を実行して、実際に割り当てた値を見れば、あなた自身がかなり良い考えを持っています。 –

+2

新しい行が解釈され、 'exec'に渡されません。つまり、 'exec'と' eval'は反パターンです。 –

答えて

5

私はあなたがbackslashitisに苦しんでいる疑いがある:なしを取得していない、提案をしようとしました。あなたはn前の1以上のスラッシュが必要になります。

textFormat = 'soup.find("div", {"class" : "article-entry text"}).text.replace(\'\\n\', "")' 

しかし、代わりにexec INGのコードでこの方法、あなたの代わりにサブルーチンを公開したい場合があります:

def textFormat(soup): 
    return soup.find("div", {"class" : "article-entry text"}).text.replace('\n', "") 
+0

あなたのソリューションを試し、スクリーンショットを追加しました。まだエラーが発生しています - >なし – user2252633

+0

@ user2252633取得してもエラーではありません。 – wjandrea

関連する問題