FileName = 'Binarydata.dat'
BinaryFile = open(FileName, 'r')
for '0' in BinaryFile:
print('')
else:
print('@')
BinaryFile.close()
SyntaxError - can't assign to literal
尝试运行此代码时收到错误消息。这只是代码的一小部分。其余的工作正常。我不知道为什么这不起作用。
FileName = 'Binarydata.dat'
BinaryFile = open(FileName, 'r')
for '0' in BinaryFile:
print('')
else:
print('@')
BinaryFile.close()
SyntaxError - can't assign to literal
尝试运行此代码时收到错误消息。这只是代码的一小部分。其余的工作正常。我不知道为什么这不起作用。
for '0' in BinaryFile:
你有 '0' 的地方应该是一个变量,而不是文字。
可能你的意思是:
for line in BinaryFile:
if line == '0':
print('')
else:
print('@')
可能在整个堆栈跟踪中,您会看到如下内容:
for '0' in BinaryFile:
SyntaxError: can't assign to literal
当 python 循环 BinaryFile 时,它将每次迭代分配给一个变量。在这种情况下,您尝试将第一次迭代分配给“0”,这是一个字符串。
它应该看起来像这样:
for a_variable in BinaryFile:
在这种情况下,BinaryFile 的元素将被分配给 a_variable。在下一次迭代中,下一个变量将被分配给 a_variable。
这将一直持续到对象 BinaryFile 引发 StopIteration 错误,此时迭代结束。
如果你正在寻找'0'
,那么你可以写:
for ch in BinaryFile:
print('' if ch == '0' else '@')
记住:for
在 Python 中是一个 for-each 循环。必须有一个变量绑定在可迭代的内容上。