Python脚本,语法错误,语法无效

时间:2013-10-28 06:10:50

标签: python python-2.7

我有以下要运行的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))))

3 个答案:

答案 0 :(得分:1)

您没有运行正在编辑的代码,而是运行的文件与您编辑的文件不同。

这是因为您提供的代码中没有语法错误。但是,错误消息中的代码中存在语法错误:

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

结尾为<>,而不是()。我认为这是一个转录错误,但你说错误信息确实如此,尽管代码没有。

因此:您运行的文件与您正在编辑的文件不同。

答案 1 :(得分:0)

当你想要.read<>

时,你有.read()

答案 2 :(得分:0)

首先,“文件”已被保留;这是内置关键字,因此无法设置为变量名称。 第二,不要使用&lt;&gt;代替 ()。语法不正确。

如果您编写代码,可能会明显解决问题:

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