在Linux Emacs shell中运行python脚本,并不断得到“错误放置()的错误”
不确定问题出在哪里,但这是我的脚本
inputFile = open('ieh.sgdc', 'r')
outputFile = open('riskAreas.txt', 'w')
cdc_txt = inputFile.readlines(SIZE)
SIZE = 639
for line in inputFile:
if 'clock' in cdc_txt:
if '-name' in cdc_txt:
outputFile.write("clock = ")
outputFile.append(line[12:8])
continue
elif reset in line:
if '-name' in cdc_txt:
outputFile.write("reset = ")
outputFile.append(line[12:8])
continue
if '-value' in cdc_txt:
outputFile.write("reset = ")
outputFile.append(line[12:8])
continue
else:
break
cdc_txt.next()
inputFile.close()
outputFile.close()
答案 0 :(得分:1)
在您的代码中
cdc_txt = inputFile.readlines(SIZE)
SIZE = 639
您在声明变量之前正在使用SIZE变量。应该是
SIZE = 639
cdc_txt = inputFile.readlines(SIZE)
答案 1 :(得分:0)
以下是正确的缩进:
inputFile = open('ieh.sgdc', 'r')
outputFile = open('riskAreas.txt', 'w')
SIZE = 639
cdc_txt = inputFile.readlines(SIZE)
for line in inputFile:
if 'clock' in cdc_txt:
if '-name' in cdc_txt:
outputFile.write("clock = ")
outputFile.append(line[12:8])
continue
elif reset in line:
if '-name' in cdc_txt:
outputFile.write("reset = ")
outputFile.append(line[12:8])
continue
if '-value' in cdc_txt:
outputFile.write("reset = ")
outputFile.append(line[12:8])
continue
else:
break
cdc_txt.next()
inputFile.close()
outputFile.close()
我不太确定您要在这里做什么,因此您可能需要根据所需的逻辑修改本节的缩进。
if '-name' in cdc_txt:
outputFile.write("clock = ")
outputFile.append(line[12:8])
continue
elif reset in line:
if '-name' in cdc_txt:
outputFile.write("reset = ")
outputFile.append(line[12:8])
continue
if '-value' in cdc_txt:
outputFile.write("reset = ")
outputFile.append(line[12:8])
continue
请记住,使用制表符或空格非常重要。您无法将两者混在一起,否则会遇到更多错误。
答案 2 :(得分:0)
“Badly place ()s”是一条 Csh 错误消息。您使用的不是您在问题中所说的内容(无论如何这没有多大意义;Emacs 不是外壳)。
这可能发生,例如如果你尝试过
bash$ tcsh
horror% func () { # trying to run a Bourne shell function definition
Badly placed ()'s
horror% inputFile = open('ieh.sgdc', 'r') # trying to run Python code
Badly placed ()'s.
当然,这没什么意义。将你的 Python 代码放在一个文件中并用
运行它horror% python filename.py # works EVEN in tcsh, and on Windows!!! (sometimes...)
实际上,您可能想要放弃这个 1980 年代垂死的外壳。但是尝试在 shell 中运行 Python 代码,或者在 Basic 中运行 Lisp 代码,或者在汇编器中运行 Haskell 代码,无论如何都不会奏效。
horror% exit
bash$ sudo rm /bin/tcsh /bin/csh