我是Python新手,并在notepad ++中编写了代码。我使用空格而不是制表符,我想我使用了正确的缩进格式。但我还是得到了错误。我不明白我做错了什么。这是代码,
#!/usr/bin/python
import sys
import shutil
import sys
def Usage() :
print "LabelFile TranscriptionFile PhonemeFile"
def main(argv = None) :
if len(sys.argv) !=3 :
Usage()
else :
LabelFile = sys.argv[1]
TranscriptionFile = sys.argv[2]
PhonemeFile = sys.argv[3]
if (os.path.exists(LabelFile)) :
InFile = open(LabelFile, "r")
TFile = open(TranscriptionFile, "w")
PFile = open(PhonemeFile, "w")
for line in iter(InFile) :
list = line.split()
Tlist = list.pop(3)
Plist = list[2]
TFile.write(" ".join(list) + "\n")
PFile.write("".join(list) + " ")
InFile.close()
TFile.close()
PFile.close()
if __name__ == "__main__" :
sys.exit(main())
请帮忙。非常感谢你。
答案 0 :(得分:3)
前面有一个缩进太多
for line in iter(InFile) :
减少该行和以下八行的缩进,您应该全部设置。
答案 1 :(得分:1)
第21行:
for line in iter(InFile) :
开始将其与上面的行对齐
回溯也会告诉您错误行号,因此如果您阅读全部
,则很容易修复此外,缩小4个空格而不是2个空格是一个好习惯:
#!/usr/bin/python
import sys
import shutil
import sys
def Usage() :
print "LabelFile TranscriptionFile PhonemeFile"
def main(argv = None) :
if len(sys.argv) !=3 :
Usage()
else :
LabelFile = sys.argv[1]
TranscriptionFile = sys.argv[2]
PhonemeFile = sys.argv[3]
if (os.path.exists(LabelFile)) :
InFile = open(LabelFile, "r")
TFile = open(TranscriptionFile, "w")
PFile = open(PhonemeFile, "w")
for line in iter(InFile) :
list = line.split()
Tlist = list.pop(3)
Plist = list[2]
TFile.write(" ".join(list) + "\n")
PFile.write("".join(list) + " ")
InFile.close()
TFile.close()
PFile.close()
if __name__ == "__main__" :
sys.exit(main())
答案 2 :(得分:1)
首先关闭。虽然这不是必需的,但是使用四个空格进行缩进是常见的,而不是两个(当然,除非您正在扩展一些已经有2个空格缩进的代码)
然后,修改后的代码(第21行的for
循环上出现缩进错误):
#!/usr/bin/python
import sys
import shutil
import sys
def Usage() :
print "LabelFile TranscriptionFile PhonemeFile"
def main(argv = None) :
if len(sys.argv) !=3 :
Usage()
else :
LabelFile = sys.argv[1]
TranscriptionFile = sys.argv[2]
PhonemeFile = sys.argv[3]
if (os.path.exists(LabelFile)) :
InFile = open(LabelFile, "r")
TFile = open(TranscriptionFile, "w")
PFile = open(PhonemeFile, "w")
for line in iter(InFile) :
list = line.split()
Tlist = list.pop(3)
Plist = list[2]
TFile.write(" ".join(list) + "\n")
PFile.write("".join(list) + " ")
InFile.close()
TFile.close()
PFile.close()
if __name__ == "__main__" :
sys.exit(main())
答案 3 :(得分:1)
使用notepad ++,在“设置/首选项”菜单的“编辑组件”面板中,有一个选项标签大小,使用4,并选中一个复选框“替换为空格”检查它,您将避免混合标签和空格。