У меня есть скрипт, который разборе для первых заглавных слов в этом файле:Успешно анализируется до индекса?
IMPORT fs
IF fs.exists("fs.pyra") THEN
PRINT "fs.pyra Exists!"
END
Сценарий выглядит следующим образом:
file = open(sys.argv[1], "r")
file = file.read().split("\n")
while '' in file:
findIt = file.index('')
file.pop(findIt)
for line in file:
func = ""
index = 0
while line[index] == " ":
index = index + 1
while not line[index] == " " or "=" and line[index].isupper():
func = func + line[index]
index = index + 1
print func
Все используемые модули уже ввезли.
Я передал файл, который разбираемый свой путь в аргументах, и я получаю этот выход:
IMPORT
IF
PRINT
Traceback (most recent call last):
File "src/source.py", line 20, in <module>
while not line[index] == " " or "=" and line[index].isupper():
IndexError: string index out of range
Что означает, что она никогда успешно разборе до последнего аргумента в списке, а затем это не разбор его вообще , Как это исправить?
', а не построчно [индекс] ==«»или«=»' не делает то, что, по вашему мнению, это - вы, возможно, имеете в виду 'in ('=')' вместо этого? –
'file.read(). Split (" \ n ")' ...? Почему не 'file.readlines()'? –
@ cricket_007 'file.readlines()' оставляет в нем символы новой строки. – baranskistad