3
<!DOCTYPE html>
<html>
<head>
  <title>Hello World</title>
  <style type="text/css">
    body {background: #fff;}
  </style>
</head>
<body>
  <h1>Hello World</h1>
    <script type="text/python" src="test.py"/>
      <script type="text/javascript"> 
        window.onload=function(){
            alert("python: " + hello());
        }
    </script>
</body>
</html>

test.py

#!/usr/bin/env python

def hello():
    return "hello"

TideSDKの開発では、次のように述べています。[エラー]ページでPythonのペアリング中にエラーが発生しました:無効な構文、(''、2,1、'\ r \ n')

しかし、これはうまくいきました!なんで?

    <script type="text/python">
    def hello():
        return "hello"
    </script>
      <script type="text/javascript"> 
        window.onload=function(){
            alert("python: " + hello());
        }
    </script>

私はTideSDKを初めて使用します、私のPCはpython2.7.3、TideSDK 1.3.1-betaがインストールされたWIN7x86です、私はこの問題の見当がつかないので、助けてください。

そして私はtest.pyエンコーディングを変更しようとしました、それは助けにはなりません

4

5 に答える 5

1

同じ問題があります。残念ながら、私はまだ最良の修正を見つけていません。ただし、すべての html ファイルにソース コードを実装することは、私にとってはまったく問題外です。

エラーは、行末について不平を言っています。私と同じようにウィンドウで作業していると思われるので、行末は次のとおりです\r\n。TideSDK は、外部の python ファイル用にある種のパーサーを作成しましたが、何らかの理由で Wi​​ndows の行末を完全に無視しました (そして、UNIX スタイルの行末を維持しました)。は\r\n奇妙な解析不能な文法として表示され、ファイルの残りの読み取りを停止します。彼らがこの不具合を修正するまで、選択肢は 1 つしかありません。すべての外部 python ファイルの行末を から\r\nに変更します\n

改行置換をサポートしている場合は、お気に入りの IDE でこれを行うことができます。または、改行の変更をサポートしていない場合は、Python ファイルを使用して、次のようにすべてを置き換えることができます。

fn = 'main.py'
with file(fn, 'rb') as f:
    data = f.read()
with file(fn, 'wb') as f:
    f.write(data.replace('\r\n', '\n'))

ただし、2 番目のルートを選択すると、ファイルを保存するたびにこのスクリプトを実行する必要があります。

より良い答えが見つかったら、お知らせします。

于 2013-03-12T21:05:20.867 に答える
1

私たちはこの問題に取り組んでいます。1.3.2-beta でリリースする予定の新しい php では、この問題が修正されているはずです。

于 2013-02-06T03:10:55.753 に答える
0

#を削除してみてください!Pythonファイルからの行ですが、とにかくTideSDKにはあまり役に立ちません。

于 2013-02-05T11:05:10.740 に答える
0

私にとっての問題は、def action() の前に空の行があることでした:

最初にインポートがありましたが、定義の前の空の行が気に入らなかったようです

于 2013-10-17T17:32:07.670 に答える
0

WindowsでEclipseを使用しているときに、この問題に遭遇しました。TideSDK python インタープリターには、Unix スタイルの行区切り文字 (つまり、コンピューターにテキストを新しい行に配置するように指示する印刷不可能な文字) が必要なようです。

Windows では 2 つの文字 "\r\n" (キャリッジ リターンとライン フィード) が使用されますが、UNIX ではライン フィード文字だけが使用されます。そのため、Widows でテキスト エディターを使用している場合、"Enter" または "Return" を押すたびに "\r\n" が挿入される可能性が高くなります。

Eclipse をテキスト エディターとして使用している場合、修正方法は次のとおりです。

File -> Convert Line Delimiters To 

をクリックして Unix を選択します。

すべての新しいファイルに対してテキスト エディタでこれを行うには、[その他] と [Unix] を選択します。

Window -> Preferences -> General -> Workspace -> New text file line delimiter.

お役に立てれば

于 2013-11-09T02:24:52.570 に答える