-3

実行したい次のpythonスクリプトがあります。ただし、スクリプトを実行しようとすると、コマンドプロンプトにエラーメッセージが表示され続けます。エラーメッセージ:

File "xor.py", line 9
               File = open(sys.argv[1], 'rb').read<>
               SyntaxError: Invalid Syntax

以下は、cmdで実行したコマンドです。

python xor.py sample_output.txt 'what would the secret be?'

スクリプトは次のとおりです。

# xor.py
import sys
from itertools import cycle
file = open(sys.argv[1], 'rb').read()
string = sys.argv[2]
sys.stdout.write(''.join(chr(ord(x)^ord(y)) for (x,y) in zip(file, cycle(string))))
4

3 に答える 3

1

編集しているコードを実行しているのではなく、編集したファイルとは別のファイルを実行しています。

これは、提供されたコードに構文エラーがないためです。ただし、エラー メッセージのコードには構文エラーがあります。

File = open(sys.argv[1], 'rb').read<>

<>これはではなく で終わり()ます。これは転記ミスだと思っていたのですが、コードはそうではありませんが、エラーメッセージは実際にはこのように表示されるとおっしゃっています。

したがって、編集中のファイルとは異なるファイルを実行しています。

于 2013-10-28T06:14:54.750 に答える
0

まず、「ファイル」はすでに予約されています。これは組み込みのキーワードであるため、変数の名前として設定できません。次に、() の代わりに <> を使用しないでください。文法的に間違っています。

次のようにコーディングすると、問題は明確に解決される可能性があります。

fd = open(sys.argv[1], 'rb').read()

于 2013-10-28T06:53:19.600 に答える
0

あなたは.read<>おそらく意図したときに持っています.read()

于 2013-10-28T06:16:57.190 に答える