Python脚本中的()错误放置

时间:2018-06-22 22:39:17

标签: python

在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()

3 个答案:

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