2016-09-19 11 views
1

ここでこのスクリプトを実行し、このNameErrorを取得しようとしています。 Windows 7のPythonスクリプトエラー

#!/usr/bin/python 
import sys, string, time 
from socket import * 
host = "192.168.0.98" 
port = 80 
print "Open TCP connections to: %s, port %s" % (host, port) 
while (1): 
    s = socket(AF_INET,SOCK_STREAM) 
    s.connect((host, port)) 
    s.send("abc")  
### test: donot close. s.close() 
time.sleep(0.1) 
print ".", 

はあなたのすべてをありがとう:私はこれは私が実行しようとしていますスクリプトです

C:\Users\myname>python 
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 

>>> script.py 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'script' is not defined 

のWindows 7でパス変数を追加しました。

+0

あなたがしようとしています( 'python'を起動した後に)対話型のpythonシェルでfilenameと入力します。 Windowsの 'cmd'で' python script.py'を試してみてください。 –

+0

コードに小さな誤字があります。 print文の後ろにある '、'は、最後に削除することができます。 – albert

答えて

4

代わりにpython script.pyを実行する必要があります。コマンドプロンプトではなく、のPythonインタープリタを使用してください。あなたは、あなたのスクリプトと同じディレクトリにあるPythonの対話インタプリタである場合が指摘Tuan333 @として

しかし、あなたが行うことができます:

>>> import script 

または

>>> from script import something 

へスクリプトに定義されている関数とクラスにアクセスできます(この場合はscriptであり、モジュールとして扱っているのでscript.pyではありません)。ただし、@ŁukaszRogalskiが指摘しているように、これは上記のようにコマンドプロンプトからスクリプトを実行するのと同じではありません。

+2

あなたのソリューションは確かに理想的です。あなたはスクリプトを持っているならば、対話的なPythonインタプリタを使って '>>> import script'を実行することもできます。 – TuanDT

+0

@ Tuan333良い点! – elethan

+1

@ Tuan333 'import script'ではなく、' script.py'です。このアプローチは 'python script.py'(一般的には)を実行するのと同等ではありません。 –

1

あなたはコマンドで、このコマンドを使用してスクリプトを実行する必要が1行

C:\Users\myname>python C:\path\to\script.py 
1

上のすべてのスクリプトを呼び出す必要がありプロンプト
のpython [スクリプトのアドレス]