-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 回答